Так как движок документо-ориентированный и минимальной сущностью, на которую можно подписаться, является документ, с ограничениями прав на уровне документа нету проблем. Есть серверный хук preHook, через который проходят все операции и там можно выбросить ошибку, если нет доступа. Хочется добавить, конечно, какой-нибудь декларативный способ это делать в будущем. С полями чуть сложно. Самое лучшее решение, что я знаю — это концепция проекций в ShareJS. Проекция — это виртуальная коллекция, документы, которой содержат только часть полей. С проекцией можно работать так же, как и с обычной коллекцией. Если ты из нее что-то читаешь, то у документов "обрезаются" лишние поля. Если ты в нее пишешь, то идёт проверка, на то, чтобы операции были только в разрешенные поля, иначе ошибка. Ровно в таком же виде, проекции есть в Amelisa.
Да так и есть. Для совместного редактирования нужен, как минимум, тип данных — строка. И в идеале — rich text. Конечно, хочется их добавить, это не приоритете и пока не совсем понятно, как лучше это сделать.
Это правда. Объясняется это наличием метаданных (oplog, версии документов и тп), что делает практически невозможным изменять данные в БД, в обход движка. К тому же обычно на сервере нужна NodeJS. Выбор баз данных тоже ограничен. Встроить это в существующую систему практически невозможно. По крайней мере, потребует кардинального изменения архитектуры, где, например, Mongo будет хранилищем данных, которые интересны фронт-энду, и остальной бэк-енд будет в нее складывать результаты каких-нибудь вычислений/преобразований.
Здесь имеется ввиду, что в Amelisa есть только операции подобные key-value хранилищу: можно записать значение в поле объекта и удалить поле из объекта. В JSON существуют еще массивы, числа, строки, каждый из которых имеет свои операции. Например, можно добавить элемент в конец массива (даже не зная сколько там уже элементов) или, например, инкрементировать число (не зная его текущего значения). Полноценная JSON-реализация есть в ShareJS.
Всё правильно говоришь. Жесткой привязки к вьюхе нету. Просто для начала взят React, как одна из популярных вьюх, к которой довольно легко привязаться, для чего написано пару хэлперов. В будущем добавятся другие вьюхи/фреймворки и логично будет разнести это по модулям, как ты и написал. Просто на данный момент не хочется распыляться. К тому же можно будет попробовать посмотреть на другие базы данных, например, RethinkDB выглядит интересной.
В racer-access можно было ограничить доступ к документу целиком, но не к конкретным полям. По этому и появились проекции.
Если придумаешь какой-то красивый интерфейс для access control, дай знать. Тут определенно что-то нужно сделать.
По путям. В Amelisa нет темлейтов, по этому такой путаницы не будет. Но при желании можно добавить нотацию с квадратными скобками.
В Derby для ключей из цифр нужно добавлять _ перед ним в пути. Где-то в доках это есть. Дело в том, что если он видит цифру в пути, то подразумевает, что это должен быть массив. В Amelisa нет операций массивами, соответственно, нет таких проблем :-)
Другие типы данных теоретически можно добавить, но это не в ближайших планах. К тому же я еще не придумал как лучше это сделать. Можно, например, попробовать сделать общий JSON тип данных, как в ShareJS, который включает операции над объектами, массивами, строками и числами, но это не просто. Другой вариант, сделать, документы с типом "строка". То есть у документа как бы нету полей и он является строкой. Такое сделать проще и, вообщем, достаточно для коллаборационного редактирования текста.
Поправь меня, если я не прав, в фильтре можно убирать не нужные поля при чтении, но нельзя ограничивать их редактирование. Вообще, мне надо глянуть на это, спасибо за наводку. Просто по какой-то причине, я, наоборот, использую проекции и не использую фильтры.
В preHook операцию менять нельзя, также как и в Racer. Ибо тот кто, тебе эту операцию послал ничего об этом изменении не узнает и у него останется старая версия операции. Тут в любом случае нужна еще одна операция. По поводу атомарности можно подумать, потому что в Amelisa состояние и oplog хранятся в одном документе и по идее, если применять несколько операций на сервере синхронно, то можно сделать, что они должны сохраниться либо все вместе, либо ни одна из них.
По поводу путей. Сейчас можно писать так model.get('users.2.name') и так model.get('users', 2, 'name'). Твой вариант со скобочками — это отсылка к динамическим свойствам js?
Пилим мобильное приложение на Amelisa. Надеюсь стабилизировать до релиза :-)
Не так давно, в конце 80-х, китайский народ, вдохновившись примером Горбачева и политических реформ в СССР потребовал того же от своего правительства. en.wikipedia.org/wiki/Tiananmen_Square_protests_of_1989
Тогда китайскому руководству хватило мудрости жёстко разогнать демонстрантов и продолжать осуществлять экономические реформы, до того, как начать политические. Надо сказать, что политические реформы они еще не начали, но с точки зрения экономики их ВВП рос 30 лет со средней скоростью больше 10% в год. Это уникальная ситуация за всю историю всех стран. Это позволило значительно повысить уровень жизни населения и превратить Китай из отстающей аграрной страны в лидера мировой экономики и одну из самых развитых стран мира. Хотя проблемы с расслоением населения не решены и около 300 млн китайцев до сих пор живут за чертой бедности, значительная часть населения живёт уже относительно не плохо.
Есть пример другой страны, в которой политические реформы провели, а экономические оставили на потом. Это СССР. Закончилось это всё развалом страны, коллапсом экономики, войнами и тд. До сих пор китайцы смотрят на опыт СССР как крайне неудачный и борются с теми, кто призывает к политическим реформам, так как это по их мнению угрожает существованию страны. Их мнение такое: лучше сейчас посадить одного блогера, чем погрузить страну в хаос, который унесет много жизней, и для других снизит и без того низкий уровень жизни.
С точки зрения либерала, то что они делают — это авторитаризм и гонения за инакомыслящими. С точки зрения консерватора — это борьба за существование государства.
Я вас уверяю, что среди молодежи в Китае значительное число либералов (как и у нас), так же есть много консерваторов-государственников (обычно те, кто постарше). Китайцы ездят по миру, смотрят как живут другие, сравнивают, ругают правительство в соц сетях и на кухнях. Там обычная политическая жизнь.
> Первый случай — Wang Xiaoning — за использование почтой Yahoo! (10 лет).
Если быть точнее там сказано, что он делал анонимные рассылки с почты Yahoo. Что именно рассылал не сказано, но не трудно догадаться.
Я — не адвокат Китая и не пытаюсь его защитить. Могу даже рассказать случай, в моей провинции был такой местный Навальный, писал про коррупцию местных чиновников. Что именно он писал не знаю, знаю только однажды он шел домой и его застрелили. Понятно, что это не по указке Си Цзиньпина сделали, а те же местные чиновники заказали. Не знаю как дело закончилось, не следил.
Что я хочу сказать, так это то что не смотря на статьи из википедии, ругают там правительство очень многие и никто не боится. Есть, кстати, не мало тех, кто поддерживает власть. Хотя, наверно, если бы совсем не было цензуры, то любой несчастный случай с разрушенной школой мог бы быть катализатором какого-нибудь Великого Китайского Майдана и мало никому не показалось бы. Ибо большое социальное неравенство, бюрократия, коррупция и тп.
А по поводу блокировок оппозиционных СМИ в России я не понимаю истерики. Они же сами нарушали закон, призывая прийти на незаконные акции. Закон един для всех или нет? Если закон не нравится, то его можно не соблюдать?
Я, вообще, за оппозицию, но давайте по закону и без революций.
Ну там же сказано за что их арестовали. За распространение заведомо ложной информации, которая могла вызвать соц напряжение. Зачем они это делали? Причём тут свобода слова?
Каждый раз когда я слышу о цензуре в России, я удивляюсь, зачем тогда Медведев на свои ежегодные пресс-конференции приглашает в том числе и главреда Дождя? Да и ходил туда не раз на интервью. Или у нас есть еще более либеральные/оппозиционные СМИ?
На самом деле это не уникальная ситуация для России или Китая. Оплоты мировой демократии тоже блокируют экстремистские сайты и преследуют их создателей itar-tass.com/bezopasnost/736929
Ничего бы не было. А вот если бы стал призывать к революции, то возможно что-то и было бы (если бы мои призывы стали популярными). В любом случае людей критикующих власть там хватает (особенно среди молодежи).
В Китае есть подразделения, которые следят за интернетом и блокируют посты, статьи с экстремистским содержаниям, начинающие набирать популярность. Это возможно, так как у этой структуры прямой доступ ко всем крупным внутренним ресурсам. Может быть, по этому у них нету революций и они спокойно развиваются довольно большими темпами, несмотря на огромные внутренние противоречия и перекосы.
В России, на сколько мне известно, у власти нету планов блокировать соц сети или вводить аналогичные системы. Да и социальная напряженность у нас значительно меньше.
Я также не вижу каких-то гонений на инакомыслящих и тп. Хотя наша оппозиция любые свои неудачи пытается представить в первую очередь как «кровавый режим снова суёт нам палки в колёса», чем часто вызывает удивление у своих же сторонников.
Вот был один случай www.fontanka.ru/2014/08/26/168/
Может там другая статья, я не юрист, говорю, как понимаю и как оно должно работать с моей точки зрения.
Если каждый тролль получал бы штраф 10000 руб за каждое оскорбление, то опять же, на мой взгляд, интернет стал бы гораздо приятнее.
Я понимаю вашу точку зрения, что свобода и тп. Но свободы без ответственности не бывает.
Ваша свобода заканчивается там, где начинается свобода другого человека. Вы не можете назвать меня дураком, потому что вам это захотелось. Это оскорбление личности. Есть еще клевета (если вы говорите ложь о ком-то, заранее зная, что это ложь). То есть, например, если я обвиню вас в том, что вы украли у меня деньги (а это не правда), то я должен понести какое-то наказание.
Вот вы говорите, что анонимность в интернете спасает меня от каких-то гипотетических ненормальных, а я вижу только то, что это не даёт мне реализовывать мои права.
Это всё не просто и всегда будут разные мнения на этот счёт.
Я понимаю о чем вы говорите. Люди, которые начинают открыто заниматься политикой, общественной деятельностью всегда встречают несогласных с их убеждениями, а также конкурентов, противников. Я думаю, что где-то подкараулить любого публичного деятеля можно и не зная его домашний адрес. И это случалось и до появления интернета. И такие люди должны представлять эти риски.
Но я не публичная персона. И вряд ли кому-то прийдет в голову как-то со мной бороться.
Вы можете сказать, что есть всякие ненормальные. Да, но риск их встретить в тёмной подворотне гораздо выше, чем в интернете. Тем более если не пытаешься как-то привлекать к себе внимание. Ну есть какой-то ненормальный, который не любит Путина (или любит, или Навального, или еще как), несогласных с ним в любом случае миллионы. Что ж он будет за всеми по подъездам бегать? Пусть приходит на митинг, там он найдет всех этих людей сразу, так дешевле и проще.
С другой стороны прикрываясь анонимностью многие пишут в интернете то, что в реальной жизни никогда бы не написали (оскорбления, ложь и тп) и не несут за это никакой ответственности.
По поводу расписания, чего тут выгадывать? Расписание 80% людей такое: утром ушёл на работу, вечером пришёл. Тут, как говорят, к гадалке не ходи.
Вы хоть представляете насколько гипотетический этот случай? Вы можете представить себе какой-то комментарий ради которого лично вы потратите кучу времени и сил и провернёте такую операцию? Потом еще не факт, что победите «обидчика» :-)
Допустим, я уверен, что мои комментарии никого не оскорбляют. Есть другие примеры?
Тогда уж проще просто отдать всё грабителям. А если серьезно, ну знает кто-то в интернете, что я — это я и чего? Закон нарушать не собираюсь. Зачем мне скрываться?
preHook
, через который проходят все операции и там можно выбросить ошибку, если нет доступа. Хочется добавить, конечно, какой-нибудь декларативный способ это делать в будущем. С полями чуть сложно. Самое лучшее решение, что я знаю — это концепция проекций в ShareJS. Проекция — это виртуальная коллекция, документы, которой содержат только часть полей. С проекцией можно работать так же, как и с обычной коллекцией. Если ты из нее что-то читаешь, то у документов "обрезаются" лишние поля. Если ты в нее пишешь, то идёт проверка, на то, чтобы операции были только в разрешенные поля, иначе ошибка. Ровно в таком же виде, проекции есть в Amelisa.Если придумаешь какой-то красивый интерфейс для access control, дай знать. Тут определенно что-то нужно сделать.
По путям. В Amelisa нет темлейтов, по этому такой путаницы не будет. Но при желании можно добавить нотацию с квадратными скобками.
В Derby для ключей из цифр нужно добавлять
_
перед ним в пути. Где-то в доках это есть. Дело в том, что если он видит цифру в пути, то подразумевает, что это должен быть массив. В Amelisa нет операций массивами, соответственно, нет таких проблем :-)Поправь меня, если я не прав, в фильтре можно убирать не нужные поля при чтении, но нельзя ограничивать их редактирование. Вообще, мне надо глянуть на это, спасибо за наводку. Просто по какой-то причине, я, наоборот, использую проекции и не использую фильтры.
В preHook операцию менять нельзя, также как и в Racer. Ибо тот кто, тебе эту операцию послал ничего об этом изменении не узнает и у него останется старая версия операции. Тут в любом случае нужна еще одна операция. По поводу атомарности можно подумать, потому что в Amelisa состояние и oplog хранятся в одном документе и по идее, если применять несколько операций на сервере синхронно, то можно сделать, что они должны сохраниться либо все вместе, либо ни одна из них.
По поводу путей. Сейчас можно писать так
model.get('users.2.name')
и такmodel.get('users', 2, 'name')
. Твой вариант со скобочками — это отсылка к динамическим свойствам js?Пилим мобильное приложение на Amelisa. Надеюсь стабилизировать до релиза :-)
Спасибо за пожелания.
Тогда китайскому руководству хватило мудрости жёстко разогнать демонстрантов и продолжать осуществлять экономические реформы, до того, как начать политические. Надо сказать, что политические реформы они еще не начали, но с точки зрения экономики их ВВП рос 30 лет со средней скоростью больше 10% в год. Это уникальная ситуация за всю историю всех стран. Это позволило значительно повысить уровень жизни населения и превратить Китай из отстающей аграрной страны в лидера мировой экономики и одну из самых развитых стран мира. Хотя проблемы с расслоением населения не решены и около 300 млн китайцев до сих пор живут за чертой бедности, значительная часть населения живёт уже относительно не плохо.
Есть пример другой страны, в которой политические реформы провели, а экономические оставили на потом. Это СССР. Закончилось это всё развалом страны, коллапсом экономики, войнами и тд. До сих пор китайцы смотрят на опыт СССР как крайне неудачный и борются с теми, кто призывает к политическим реформам, так как это по их мнению угрожает существованию страны. Их мнение такое: лучше сейчас посадить одного блогера, чем погрузить страну в хаос, который унесет много жизней, и для других снизит и без того низкий уровень жизни.
С точки зрения либерала, то что они делают — это авторитаризм и гонения за инакомыслящими. С точки зрения консерватора — это борьба за существование государства.
Я вас уверяю, что среди молодежи в Китае значительное число либералов (как и у нас), так же есть много консерваторов-государственников (обычно те, кто постарше). Китайцы ездят по миру, смотрят как живут другие, сравнивают, ругают правительство в соц сетях и на кухнях. Там обычная политическая жизнь.
Если быть точнее там сказано, что он делал анонимные рассылки с почты Yahoo. Что именно рассылал не сказано, но не трудно догадаться.
Я — не адвокат Китая и не пытаюсь его защитить. Могу даже рассказать случай, в моей провинции был такой местный Навальный, писал про коррупцию местных чиновников. Что именно он писал не знаю, знаю только однажды он шел домой и его застрелили. Понятно, что это не по указке Си Цзиньпина сделали, а те же местные чиновники заказали. Не знаю как дело закончилось, не следил.
Что я хочу сказать, так это то что не смотря на статьи из википедии, ругают там правительство очень многие и никто не боится. Есть, кстати, не мало тех, кто поддерживает власть. Хотя, наверно, если бы совсем не было цензуры, то любой несчастный случай с разрушенной школой мог бы быть катализатором какого-нибудь Великого Китайского Майдана и мало никому не показалось бы. Ибо большое социальное неравенство, бюрократия, коррупция и тп.
А по поводу блокировок оппозиционных СМИ в России я не понимаю истерики. Они же сами нарушали закон, призывая прийти на незаконные акции. Закон един для всех или нет? Если закон не нравится, то его можно не соблюдать?
Я, вообще, за оппозицию, но давайте по закону и без революций.
Каждый раз когда я слышу о цензуре в России, я удивляюсь, зачем тогда Медведев на свои ежегодные пресс-конференции приглашает в том числе и главреда Дождя? Да и ходил туда не раз на интервью. Или у нас есть еще более либеральные/оппозиционные СМИ?
На самом деле это не уникальная ситуация для России или Китая. Оплоты мировой демократии тоже блокируют экстремистские сайты и преследуют их создателей itar-tass.com/bezopasnost/736929
В Китае есть подразделения, которые следят за интернетом и блокируют посты, статьи с экстремистским содержаниям, начинающие набирать популярность. Это возможно, так как у этой структуры прямой доступ ко всем крупным внутренним ресурсам. Может быть, по этому у них нету революций и они спокойно развиваются довольно большими темпами, несмотря на огромные внутренние противоречия и перекосы.
В России, на сколько мне известно, у власти нету планов блокировать соц сети или вводить аналогичные системы. Да и социальная напряженность у нас значительно меньше.
Я также не вижу каких-то гонений на инакомыслящих и тп. Хотя наша оппозиция любые свои неудачи пытается представить в первую очередь как «кровавый режим снова суёт нам палки в колёса», чем часто вызывает удивление у своих же сторонников.
Чего я должен опасаться?
Может там другая статья, я не юрист, говорю, как понимаю и как оно должно работать с моей точки зрения.
Если каждый тролль получал бы штраф 10000 руб за каждое оскорбление, то опять же, на мой взгляд, интернет стал бы гораздо приятнее.
Я понимаю вашу точку зрения, что свобода и тп. Но свободы без ответственности не бывает.
Вы серьезно про репрессии? Во всяком случае, я этого не опасаюсь.
Вы правы, анонимность мешает защищать некоторые права.
Вот вы говорите, что анонимность в интернете спасает меня от каких-то гипотетических ненормальных, а я вижу только то, что это не даёт мне реализовывать мои права.
Это всё не просто и всегда будут разные мнения на этот счёт.
Но я не публичная персона. И вряд ли кому-то прийдет в голову как-то со мной бороться.
Вы можете сказать, что есть всякие ненормальные. Да, но риск их встретить в тёмной подворотне гораздо выше, чем в интернете. Тем более если не пытаешься как-то привлекать к себе внимание. Ну есть какой-то ненормальный, который не любит Путина (или любит, или Навального, или еще как), несогласных с ним в любом случае миллионы. Что ж он будет за всеми по подъездам бегать? Пусть приходит на митинг, там он найдет всех этих людей сразу, так дешевле и проще.
С другой стороны прикрываясь анонимностью многие пишут в интернете то, что в реальной жизни никогда бы не написали (оскорбления, ложь и тп) и не несут за это никакой ответственности.
По поводу расписания, чего тут выгадывать? Расписание 80% людей такое: утром ушёл на работу, вечером пришёл. Тут, как говорят, к гадалке не ходи.
Допустим, я уверен, что мои комментарии никого не оскорбляют. Есть другие примеры?