Память марсохода Opportunity отформатируют



Opportunity — если и не рекорсдмен по внеземному пробегу (насколько можно судить, первенство в этом вопросе удерживает советский Луноход, хотя в NASA считают иначе), то уж точно рекордсмен по пребыванию на другой планете Солнечной системы с сохранием работоспособности.

Как известно, изначально системы рассчитывались на работу в течение 90 дней, а с момента высадки Opportunity на Марс прошло более 10 лет. Системы марсохода изнашиваются, и это особенно заметно в отношении флеш-памяти ровера.

Дело в том, что за последний месяц марсоход выдает один сбой за другим, и на восстановление каждого из таких сбоев тратится день или два. Следовательно, аппарат ничего не делает целые сутки-двое. При появлении такого сбоя компьютерная система ровера перезагружается, и специалистам из NASA приходится тратить много времени на решение всех этих проблем. За последний месяц Opportunity перезагружался уже 12 раз, так что несложно подсчитать, сколько времени аппарат работал, а сколько — простаивал.

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

За все десять лет память Opportunity отформатируют впервые, причем с расстояния, более, чем 200 миллионов километров. Тем не менее, подобная процедура уже проводилась с близнецом Opportuntity, ровером Spirit, в 2009 году, как раз пять лет после примарсения.

Opportunity's Rear-Facing View Ahead After a Drive

Что касается Opportunity, процедура переформатирования памяти будет проведена в следующем месяце. В настоящее время марсоход стремится к Марафонской долине Марса, где много глинистых минералов (последние могут «рассказать» о геологической истории планеты, ученые надеются получить еще больше информации о наличии жидкой воды на поверхности Красной планеты в прошлом).

Via nasa

ссылка на оригинал статьи http://habrahabr.ru/post/235343/

Как самому сделать танцевальную платформу для Dance Dance Revolution

Здравствуйте, уважаемые хабровчане. Долго размышлял о названии поста, но в конечном счёте решил, пусть и длинно, но написать в нём суть. Под катом пойдёт речь о том, как с нуля создать неплохой игровой контроллер для ритм-игры, при этом не сильно потратившись. И пусть в последнее время периодически проскакивают комментарии, мол, «Хабр уже не «торт», надеюсь, мой «рецепт» придётся вам по вкусу.




Содержание


  • О чём пост
  • Подготовительный этап
  • Хроники короеда (разметка и фрезеровка)
  • Паяй меня, паяй меня полностью (делаем датчики)
  • Святая пара (делаем проводку)
  • Тяп-ляп и в продакшн (сборка)
  • USBсексуал (дружим танцевальную платформу с компьютером)
  • Что дальше? Вместо итогов.





О чём пост


Но сначала небольшое вступление, дабы все понимали, о чём пойдёт речь ниже. Отличная статья из Википедии внесёт ясность.

Dance Dance Revolution (DDR) — серия музыкальных видеоигр от Konami Digital Entertainment, Inc, также известная как Dancing Stage. Игра проходит на танцевальной платформе с четырьмя панелями: «вверх», «вниз», «влево» и «вправо». Во время игрового процесса по экрану перемещается последовательность стрелок, которая соответствует музыкальному ритму исполняемой песни. Игрок должен нажимать ногами в такт музыке соответствующие панели в тот момент, когда стрелки совпадают с полупрозрачным трафаретом, расположенным обычно в верхней части экрана. При каждом правильном нажатии у игрока постепенно пополняется уровень «шкалы жизни». За каждый промах от шкалы отнимается определённое количество энергии. Раунд считается проигранным, если игрок хотя бы один раз во время прохождения песни допустил падение уровня «шкалы жизни» до нуля.

Ну а если объяснять наглядно, то лучше воспользоваться услугами Жана Рено и фильмом «Васаби».

Исторически игра в России, Украине и Беларуси набрала популярность в среде любителей аниме, постепенно выделившись в отдельное спортивное направление. Постепенно вместо «някающих» девочек возле игровых автоматов появились парни, что-то усиленно чёркающие в «To Do List’ах», обсуждающие преимущества той или иной техники «танца» и отчаянно спорящие о выборе правильной обуви «для степа». Вскоре на горизонте замаячили первые чемпионаты.

И вот тут появилась проблема. Успехи в игре напрямую зависели от количества тренировок. Качественно тренироваться можно было только на игровом автомате. Но так как большинство игроков было школьного и студенческого возраста, позволить себе полноценные тренировки могли лишь единицы. Ведь всё стоит денег, и жетоны не исключение.

Выход из ситуации был очевиден: найти «домашнюю» версию DDR. Увы, надеждам не суждено было сбыться. Нет, домашние версии существовали, но были либо некачественные, либо не по карману. Кроме того, доставка порой увеличивала стоимость самой танцевальной платформы в 2 и более раз. И это в России. Про Беларусь даже речи не шло.

Вот с таким положением дел оказались я и jsirex, проживавшие в славном городе Минске. Не найдя адекватного варианта за разумные деньги, мы решили построить свою собственную танцевальную платформу с манчкином и гейшами. Цели поставили амбициозные. Танцевальная платформа\коврик\пад должна была быть:

  • дёшева;
  • долговечна;
  • не слишком тяжёлой (лёгкой) и не слишком громоздкой.
  • По точности нажатий и ощущениям от игры не должна отличаться от аркадного автомата.


Конструкция, о которой сейчас пойдёт речь, является плодом двухлетней совместной работы. Сохранив изначальный форм-фактор, внутри коврик кардинально менялся несколько раз. Инструкцией по сборке финальной версии я и хотел бы поделиться с сообществом.

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

Тем временем, приступим к сборке.


Подготовительный этап


Время, затраченное на сборку коврика, можно разделить на два периода: теоретический и практический. Под первым подразумевается то время, которое вы затратите на приобретение необходимых расходных материалов и инструментов. Под вторым – непосредственно время сборки. Если не лениться, то в одиночку коврик собирается за 4 дня.

image

Вернёмся к покупкам. Вам понадобится:

  • Струбцины (2 шт);
  • Шуруповёрт;
  • Сверло по дереву;
  • Пила;
  • Dremel;
  • Ножницы по металлу;
  • Тестер;
  • Угольник;
  • Карандаш;
  • Отвёртка;
  • Паяльник;
  • Припой;
  • Канифоль;
  • Витая пара;
  • Молоток
  • Промышленный фен;
  • Пистолет клеевой.


Всё перечисленное выше было у меня в наличии. Поэтому цены не привожу. Остальное пришлось докупить. Цены актуальны для Беларуси на август 2014 года. Переводил в USD из расчёта 1 USD = 10 000 BYR.
image
Как видите, не указаны цены для нержавейки и оргстекла. В моём случае покупать их не пришлось – помог jsirex. Тем не менее, вместо нержавейки можно взять любой проводящий материал (не обязательно металл) с памятью формы. Например, текстолит.

С оргстеклом сложнее. Продавцы обычно не хотят продавать маленькие куски. Но можно пойти на хитрость. Из оргстекла нам нужно будет сделать 4 кнопки размерами 28*28 см. Следовательно, можно взять как «квадрат» 60*60 см, так и «прямоугольник» 30*120 см. Брать стекло впритык или с запасом? Зависит от того, каким способом его разрезать:

  1. Вручную с помощью специального ножа для резки оргстекла (похож на канцелярский нож). Стекло берётся ровно по размеру. Процесс разрезания напоминает работу со стеклорезом. Этот способ весьма бюджетный, но по неопытности можно плохо отломать заготовку и свести на нет всю экономию.
  2. Лазерная резка. Режет идеально в размер, но стоит дорого. Особенность работы лазера требует «минимального отступа» от края заготовки. То есть для того, чтобы вырезать кнопку 28*28 см, нужна заготовка минимум 28,5*28,5 см.


На этом подготовительный этап закончен.


Хроники короеда (разметка и фрезеровка)


Можно приступать к распилу фанеры. Толщина в 15 мм подобрана неслучайно. Одной из целей, как вы помните, является вес. Слишком лёгкий коврик при интенсивной нагрузке будет проскальзывать по полу. Слишком тяжёлый будет неудобен в транспортировке. По первой причине не стоит рассматривать фанеру в 10 мм и меньше. По второй – 18 мм и толще. К тому же, зависимость стоимости фанеры от её толщины, оказывается, нелинейная. Таким образом, остаётся два «финалиста»: 12 мм и 15 мм. Не знаю как в других городах, но в Минске 12 мм оказалось редкостью. Забегая вперёд скажу, собранный из 15-миллиметровой фанеры коврик весит 18 кг.

Определившись с толщиной фанеры, нужно этот лист распилить на «запчасти». Из одного стандартного листа должны получиться:

  • основание размерами 90*90 см;
  • 5 кнопок размерами 28*28 см;
  • 2 рейки размерами 3*90 см;
  • 2 рейки размерами 3*84 см.


Пилить фанеру можно ножовкой или циркулярной пилой. В первом случае получится не очень ровно, а во втором важно учесть тот факт, что циркулярка «съест» 2-3 миллиметра. Поэтому все ваши размеры должны «подрасти» на соответствующую величину.

Также при распиле неизбежно останутся заусенцы.
image
От них можно избавиться наждачкой или с помощью подходящего инструмента.

Помните, при работе с деревом будет много стружки. Очень много. Поэтому позаботьтесь о том, чтобы родные не выгнали вас из дома. Если всё завершилось благополучно, смело приступайте к следующему этапу.


Паяй меня, паяй меня полностью (делаем датчики)


За годы увлечения DDR мы с jsirex не раз копались в аркадных автоматах.
image
С одной стороны, была необходимость (автомат всегда приводится в порядок перед чемпионатом), с другой – было интересно, что ж там эти японцы понапридумывали. Всё гениальное, как известно, просто.

Датчик представляет собой простейшую конструкцию: две токопроводящие пластины, разделённые диэлектриком по краям и замыкающиеся в центре от веса игрока. В каждой кнопке имеется 4 датчика, по одному на каждую сторону. Таким образом, вне зависимости от того, на какую часть кнопки наступает игрок, нажатие срабатывает всегда.

Но довольно слов. Приступим к сборке.
image
Расчерчиваем текстолит квадратами 1*1 см. Нержавейку – полосами 1*15 см. Самое сложное – нарезать нержавейку. Проблем нет, если под рукой есть болгарка. Единственный нюанс – необходимо подкорректировать размеры. Вместо 1*15 см будет 1,1*15,1 см. лишнее «съест» болгарка.

А вот если такого замечательного инструмента в вашем арсенале не имеется, начинаются «пляски с бубном». Сначала я решил воспользоваться дремелем. В его арсенале как раз имелся отрезной диск.
image

Однако нержавейка в 1 мм толщиной плевать хотела на модные диски и сточила его после 8 см пропила. Поэтому нехотя пришлось лезть за «аналоговым» инструментом – ножницами по металлу.
image

Им нержавейка оказалась вполне по зубам. Но ещё ни одна бочка мёда на моей памяти не обходилось без ложки дёгтя. И этот случай не стал исключением.
image

Ножницы нарезают металл весёлыми завитушками с заусенцами. Поэтому сначала пришлось ровнять их молотком (заготовки, а не ножницы) до вменяемого состояния.
image

А затем «сбривать» заусенцы дремелем. С этой задачей он справился на отлично и без потерь расходных материалов.
image
Тем временем разогревается паяльник. Нет, мне никто не был должен денег. Просто наступил следующий этап изготовления датчика.

С точки зрения пайки никаких тонкостей нет. Лудим провода, капаем ортофосфорной кислотой на зачищенный край полоски нержавейки и паяем.
image

Может выглядит и не очень эстетично, зато фиг оторвёшь.
image

К получившимся заготовкам с помощью изоленты приматываются квадратики текстолита. Он выступает в роли диэлектрика. На одну заготовку приматывается со стороны пайки, на другую – со стороны «хвоста».
image
Каюсь, использовал вместо синей чёрную изоленту, поэтому за долговечность датчиков не ручаюсь.

Затем две заготовки скрепляются по краям изолентой. Итоговый вариант ниже.
image

Самое время делать красиво. Для этого понадобится термоусадка. При размерах датчика 1*15 см отлично подойдёт термоусадка с диаметром 15 мм.
image
Ужимается термоусадка промышленным феном. Если фена нет, подойдёт и газовая плита. Нужный эффект будет достигнут. Бонусом можно получить запах горелых волос. Кстати, если чуть сильнее разогреть «хвост» датчика, а потом быстро зажать его плоскогубцами или отвёрткой, получится практически герметичный корпус. Этот момент есть в видео.
image

На всякий случай, плоды трудов проверяем тестером. В свободном состоянии контакта, естественно, быть не должно.
image

Теперь настал черёд разъёмов «папа-мама».
image

Напаиваем нечто (если честно, я не знаю, как это правильно называется) на свободные концы проводов. Здесь важное замечание. Если у вас толстый многожильный провод, имеет смысл часть жил откусить. Другими словами, не делайте так, как показано на фото ниже, не оставляйте все жилы.
image
Посыл простой: припаять вы сможете, но затем не сможете вставить «папу» в «маму», т.к. не останется свободного пространства.

Правильно сделанный датчик в меру красив и прекрасен.
image

К тому же не испытывает никаких проблем при соединении с платой.
image

Пару слов о плате. Если честно, из личного опыта могу сказать, что городить огород с разъёмами и платами не обязательно. Можно все датчики в кнопке взять на «скрутку», залить припоем, а потом термоклеем. И такая конструкция будет нормально работать. По крайней первые образцы ковриков до сих пор работают, а прошло уже лет 6.

Но вернёмся к платам. Травятся они по всем известному методу кнута и пряника принтера и утюга. После травления имеют следующий вид:
image

После разрезания, в стратегических местах миллиметровым сверлом просверливаются не менее стратегические отверстия.
image

В итоге, после пайки, получается даже красиво. Вид сзади.
image

Вид спереди:
image


Святая пара (делаем проводку)


И вот мы вплотную подошли к проводке.
image

Дотошные читатели рассмотрят сложный вариант, представленный на фото выше. Я же расскажу про упрощённый вариант, реализуемый через витую пару.

Всё начинается с «муфты» с разъёмом RJ-45. В ней 8 выходов, следовательно к нему идёт 8 проводов. Выбираем 4 «плюса» и 4 «минуса». Так как «минус» общий – скручиваем 4 провода в один. Хотите верьте, хотите нет, но витая пара тоже содержит 8 проводов. На «плюсы» и «минусы» они разделяются абсолютно аналогично. Я, к примеру, все цветные назначаю «минусами», а все бело-цветные – «плюсами». В конечном счёте, на каждую кнопку в коврике должен прийти 1 «+» и 1 «-».

Для сохранности проводки прокладывать её следует не по верхуоснования, а по заранее проделанным канавкам в нём. Есть 2 способа:

  1. Дешёвый. Берём стамеску и молоток. Долбим канавки. Получается действенно, но не особо красиво.
  2. Берём фрезерный станок и выпиливаем всё, что нужно за 10 минут.


Я пошёл модифицированным вторым способом. Фрезерного станка у меня не было, а покупать на 1 раз не очень хотелось. Зато был дремель с набором всякой всячены. Среди прочего там нашлись универсальные свёрла. Их особенность в заточке. Сверло может выполнять функцию фрезы. В видео заснят процесс, поэтому на словах описывать нет смысла. Лучше один раз увидеть.

Когда все канавки пропилены, наступает время термоклея. Штука крайне полезная для мелкого быстрого ремонта. С помощью термопистолета прокладываем проводку, приклеивая датчики. Не забываем периодически «прозванивать» конструкцию, чтобы потом не пришлось разбирать готовый коврик до основания.
image


Тяп-ляп и в продакшн (сборка)



Ну что ж, уже виднеется свет в конце тоннеля. Финишная прямая – сборка. Помните 5 деревянных кнопок, 4 оргстеклянных и 4 рейки? Настало их время.

Любопытно, что как бы вы ни старались распилить всё ровно, какими бы прямыми и квадратными ни казались вам заготовки, на этапе сборки вас будет преследовать чувство всеобщей кривизны и неказистости. Не пугайтесь, это парадокс искривления пространства-рук-времени. Без дополнительных 7 измерений исправить его всё равно нельзя, поэтому смиритесь.

Хотя нет, маленькие хитрости всё равно есть. Если допустить, что все кнопки и рейки немного криво распилены, то есть шанс собрать их в такую комбинацию, когда всё встанет ровно. В общем, берёте и начинаете пробовать. Когда итоговая расстановка будет найдена, подписываете на обратной стороне кнопки её место и направление. Например, ЛН – левая нижняя, Ц – центральная.
image

Начинать выстраивать эту «икебану» лучше с какого-нибудь угла. Как только получилось – наживляете на саморезы. Оргстекло наживлять на саморезы не обязательно.

Чтобы оргстекло не выпадало, закрепляем его мебельными уголками. Нюанс: уголки по высоте больше, чем нужно. Варианта два:

  1. Стачивать каждый уголок.
  2. Сделать углубления в основании.


Я выбрал второй вариант, всверлившись дремелем.
image

По ходу сборки не забывайте прозванивать конструкцию.

Наконец, самый важный компонент, без которого ничего работать не будет – скотч на пенной основе. Можете смеяться, но это так. Даже в оригинальных японских аркадных автоматах мы его находили.
image

Наклеивается он небольшими полосками 3-4 сантиметра в длину по центру каждого датчика. Так как датчики мы делали сами, а не купили на заводе, может понадобиться несколько слоёв. Обычно 2-3. В конечном счёте кнопка должна нажиматься при некотором усилии руки. Не от прикосновения, а именно от усилия! Это важно!


USBсексуал (дружим танцевальную платформу с компьютером)



Параллельно со сборкой коврика, собирается и его связующее звено с компьютером. Так как Windows не понимает протокол ЁПРСТ\ЁКЛМН, придётся «дружить» деревяжку с компьютером традиционным способом, то есть через USB.

Для этих целей покупается самый дешёвый геймпад. На его плату и предстоит напаять конец витой пары. На всякий случай напомню порядок.

  • Сигнал начинается с замыкания на датчике;
  • Передаётся на плату, закреплённую в центре кнопки;
  • Затем передаётся на «муфту»;
  • И выходит на разъём RJ-45.


Всё это уже сделано. Далее.

  • Вставляем обжатого «папу» в «маму» RJ-45;
  • По витой паре сигнал передаётся на геймпад;
  • С геймпада сигнал по USB уходит в компьютер.


Так вот, напаиваемся на плату следующим образом.
image
Как видите, «плюсы» напаяны к кнопкам действий. «Минусы» скручены-спаяны вместе и припаяны к «земле».

В принципе, всё готово. Но можно и навести красоту. Например, запихнуть плату в корпус. Его я купил на развалах радиорынка. Правда, затем оказалось, что это просто две крышки, которые никак не предназначены для соединения хотя бы в подобие чего-то целого. Пришлось немного подшлифовать.
image

В целом, получилось вменяемо. С помощью наждачки для дремеля снял излишки, а с помощью фрезы сделал выемку под провод.
image

Наконец, все части мозаики готовы и можно подключить коврик к компьютеру для тестирования в игре.
image

Пару слов о ней. Для игры на компьютере добрые люди написали симулятор аркадного автомата DDR под названием Stepmania. Затем не менее добрые люди на основе Stepmania создали модифицированную версию – In The Groove (ITG). Именно с ней, а точнее с проектом OpenITG я и работаю. Скачать дистрибутивы можно здесь. Можно и самостоятельно собрать из исходников. Вообще, настройка игры, закачка треков и даже создание собственных – тема для отдельного поста. Если сообщество за, то дайте знать об этом в комментариях. А пока же возвращаемся к коврику.

Окончательный вид пациента.
image

Вытворять на таком коврике можно многое. К сожалению, я уже давно не в форме и на видео выдаю лишь вялые трепыхания. Но когда-то было так:



Что дальше? Вместо итогов



Нельзя не заметить, что внешний вид коврика не эстетичен. Это не беда. Во-первых, его можно покрасить.
image
Деревянные части откручиваются и красятся. Оргстекло красится с внутренней стороны.

Во-вторых, если не хочется работать с краской, можно напечатать наклейки.
image
Придумываете рисунок из расчёта 9 квадратов 29*29 см. Я не ошибся, кнопки 28*28 см, а наклейки больше. Но вы же помните, что кнопки бывают не совсем квадратными?

На этом всё. Вопросы, комментарии и предложения приветствуются.

ссылка на оригинал статьи http://habrahabr.ru/post/235323/

Приглашаем на Moscow Django MeetUp № 22



Дамы и господа, в четверг в офисе Mail.Ru Group пройдёт 22-я по счёту ежемесячная встреча Moscow Django MeetUp! В этот раз вы сможете услышать мудрые речи трёх докладчиков, которые выступят на сильно разные темы. В первых рядах выступающих окажется никто иной, как Григорий Петров (Digital October).

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

Зачем ходить на конференции и выступать на них
Всевозможные конференции и митапы будут внимательно рассмотрены с двух точек зрения: гостей и спикеров. Зачем они пришли на мероприятие? Какую пользу для себя они планируют извлечь? Как и в каких целях этим может воспользоваться выступающий?

Как подготовить презентацию
Во второй части Григорий кратко поделится своими наработками по подготовке к мероприятиям: как, по его мнению, делать презентацию, что в ней должно быть а чего никак не должно.

Как выступать
В заключительной части вы узнаете о ряде наблюдений и приемов, которые могут помочь вам во время собственных выступлений. Нужно ли заучивать текст? Куда именно и как засовывать страх перед публичными выступлениями? Что делать, если аудитория крепко спит? Ответы на эти, а также ваши собственные вопросы ждут вас на очередном митапе.

Переходящее знамя выступающего докладчика подхватит следующий спикер, Александр Швец (Блондинка.ру). Его выступление пройдёт под названием:

Веб-аналитика по-крупному или как использовать Python на передовой
Ни для кого не секрет, что реклама всегда была не только основным источником инвестиций для интернета, но и одним из главных катализаторов развития веб-технологий. Если не брать креативную составляющую, то все остальное в современной рекламе — чистая математика. Реклама все больше и больше из разряда назойливых баннеров переходит в разряд удобных рекомендательных сервисов. Она должна знать о пользователе все, предугадывать его желания. И основными проблемами является обработка большого количества запросов (сохранять каждый шаг) и огромных массивов информации (комбинировать разные источники). В задачах такого рода не принято использовать Python. Зачастую используются другие языки, более производительные, но дорогие в разработке и поддержке. Будет поднят вопрос о том, почему это несправедливо и как можно исправить ситуацию.

Александр расскажет, как, не написав ни одной строчки на C, можно строить сервисы для обработки миллионов запросов в секунду. Как организовать отложенный парсинг запросов и конвейерную или параллельную обработку. Описанная техника подойдет для обработки практически любых действий, которые не требуют немедленной реакции. Также Александр расскажет, что, на каком этапе и где хранить: в файловой системе, реляционной базе данных или NoSQL-хранилище.

Собранные данные нуждаются не только в обработке, но и в агрегации и консолидации, а Python бывает не только медленным, но и прожорливым по памяти. Тем не менее, и такие задачи ему по плечу. Как использовать инструменты для научного анализа данных в продакшене? Александр покажет, как с помощью нехитрых алгоритмов и с использованием pandas (Python Data Analysis Library) можно джойнить гигабайты данных. Будут рассмотрены нюансы серилизации данных и другие тонкие моменты.

В заключении можно будет поговорить о том, зачем это все нужно: как можно использовать полученные данные в практических целях, куда можно двигаться дальше. А также будут немного затронута тему программатик баинга.

И последним из троицы докладчиков выступит Сергей Лихобабин (Mail.Ru Group). Сергей поделится своими знаниями и опытом в докладе под названием:

Управление правами доступа к объектам Django
  • права доступа на уровне объектов, зачем они нужны, какие решения существуют, основные проблемы;
  • наше решение и его возможности, примеры из жизни;
  • ограничения доступа в иерархиях объектов различных типов.


Зачастую в наших приложениях требуется ограничить доступ пользователей к какому-либо объекту. Но эта, казалось бы, тривиальная задача со временем обрастает огромным количеством нюансов и проблем, которые не решаются с помощью стандартной модели прав. Как показать пагинированный список объектов с учетом видимости для каждого пользователя и при этом не потерять производительность? Что делать в случае сложных иерархий вложенных друг в друга объектов? Как давать права на просмотр или изменение одного объекта пользователям из определенного города или подразделения?

Я расскажу как мы решили эти и другие проблемы управления правами и видимостью объектов и чем наше решение может пригодиться в вашем проекте.

Для участия во встрече необходимо пройти регистрацию. Также будет доступна онлайн-трансляция.

ссылка на оригинал статьи http://habrahabr.ru/company/mailru/blog/235227/