Pull to refresh
-1
0
Send message

Гибкая система управления доступом на уровне объектов-записей

Reading time10 min
Views15K

Привет всем!


В проектах, основанных на Джанго, часто хочется использовать гибкое управление доступом на уровне записей (объектов), когда разные пользователи имеют, или наоборот, не имеют доступ к отдельным объектам в рамках одной и той же модели.


Я хочу рассказать, какая именно политика доступа к данным требовалась в нашем проекте, почему не нашлось подходящей готовой системы и как появилась новая система управления доступом на уровне записей.


Для наиболее дотошных, далее приведены детали устройства системы, ее внутренней логики и порядка обращения с ней.

Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments15

Мета-взгляд на проблемы (не)образованной молодежи

Reading time12 min
Views27K
Все мы учились в школе, а многие после школы в ВУЗе или университете, кто-то продолжил в аспирантуре. Очень многие продолжают учиться после этого: кто-то на курсах, а многие занимаются самообразованием. Многие сталкиваются с проблемами образования своих детей, а кто-то и внуков. И в принципе проблемы образования и специального обучения небезразличны всем, поскольку все хотят, чтобы врач, если пришлось к нему обратиться, был квалифицированным, а встречный водитель на дороге знал бы правила дорожного движения.


(Г. и А. Огородниковы)

Ну а некоторые причастны к образованию с другой стороны: кто-то преподает в школе, кто-то преподает в ВУЗе, кто-то просто учит своего ребенка читать и считать, кто-то делится своим опытом с молодым недавно пришедшим сотрудником и т.д. У меня очень скромный опыт преподавания, но он был удачным. Сейчас не преподаю и могу не знать современных тенденций. Но проблемами обучения интересуюсь еще и с точки зрения ИИ, разделяя мнение, что в обучении интеллекта искусственного во многом приходится копировать методы обучения интеллекта естественного, подобно тому, как копируют в ИИ свойства естественных нейронов. В соц.группу молодежи уже не вхожу. Однако, несмотря на это, волна Хабра-публикаций на тему «необразованной молодежи» меня, как и многих, заинтересовала настолько, что принял участие в обсуждениях. И наговорил столько, что решил сделать своеобразный дайджест из собственных автоповторов, добавив дополнительные пояснения и учитывая услышанные в обсуждениях возражения. Ниже предлагается этот взгляд стороннего наблюдателя. Думаю, что критики прозвучало уже предостаточно, поэтому сфокусируюсь на конструктивных идеях.
Читать дальше →
Total votes 20: ↑12 and ↓8+4
Comments623

IOPS — что это такое, и как его считать

Reading time4 min
Views326K
iopsIOPS (количество операций ввода/вывода – от англ. Input/Output Operations Per Second) – один из ключевых параметров при измерении производительности систем хранения данных, жестких дисков (НЖМД), твердотельных диски (SSD) и сетевых хранилища данных (SAN).

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

Значит, для определения IOPS надо знать скорость и размер блока при операции чтения / записи. Параметр IOPS равен скорости, деленной на размер блока при выполнении операции.
Читать дальше →
Total votes 52: ↑40 and ↓12+28
Comments11

Вы уволили самого талантливого сотрудника. Надеюсь, теперь вы довольны

Reading time7 min
Views168K
Недавно довелось прочитать статью под названием «Мы уволили самого талантливого сотрудника. Это лучшее решение, которое мы когда-либо делали». [Очень популярная статья, которая получила массу положительных оценок на Medium — прим. пер.]

Давайте присядем, вы и я. Нужно поговорить. Если вы не читали статью по ссылке, то уделите 10–15 минут и прочитайте, впитайте её целиком.

Готовы? Отлично. Теперь разберём этот текст, потому что он значит гораздо больше, чем там написано. Если вы прочитали статью, то понимаете, что автор описывает проблемного сотрудника под вымышленным именем «Рик». Рик — это местный гений с огромным количеством знаний в предметной области, он входит в состав ключевых разработчиков продукта.

На первый взгляд, это история о технаре, который возомнил себя божьим даром для компании. Он решил, что руководители должны поклоняться земле, по которой он ходит и быть благодарны за одно его присутствие, а руководство вышвырнуло его пинком за дверь, потому что его репутация обналичивала чеки, за которые талант не мог заплатить.
Читать дальше →
Total votes 310: ↑300 and ↓10+290
Comments439

Китай — цифровая держава. Впечатления от Huawei Connect 2017

Reading time6 min
Views6.9K
В сентябре в Шанхае прошла ежегодная конференция Huawei, которую вендор проводит для своих потенциальных и действующих клиентов, а также партнёров. Это крупное событие с большим количеством участников и докладчиков, где можно узнать о тенденциях и новинках в самых разных областях ИТ. Мы каждый раз отправляем на конференцию десант наших специалистов. Своими впечатлениями делится заместитель директора технического центра «Инфосистемы Джет» Андрей Шапошников.


Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments3

Как научить свою нейросеть анализировать морфологию

Reading time8 min
Views19K

Недавно мы рассказывали про генератор стихов. Одной из особенностей языковой модели, лежащей в его основе, было использование морфологической разметки для получения лучшей согласованности между словами. Однако же у использованной морфоразметки был один фатальный недостаток: она была получена с помощью “закрытой” модели, недоступной для общего использования. Если точнее, выборка, на которой мы обучались, была размечена моделью, созданной для Диалога-2017 и основанной на закрытых технологиях и словарях ABBYY.


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


Вместо морфологического движка ABBYY я использовал широко известный pymorphy2. Что в итоге получилось? Спойлер — получилось неплохо.

Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments18

Тест Тьюринга пройден (на детском уровне сложности)

Reading time2 min
Views213K
Сделала это программа, которая убедила людей, что является 13-летним мальчиком из украинской Одессы.



Согласно условиям теста Тьюринга, он считается пройденным, если программе удастся убедить в своей человечности хотя бы 30% судей в процессе 5-минутного текстового общения.
Читать дальше →
Total votes 169: ↑135 and ↓34+101
Comments248

Самый большой тест Тьюринга

Reading time5 min
Views262K
23 июня 2012 года Алану Тьюрингу исполнилось бы 100 лет. И хотя эта дата осталось незамеченной в России (и на Хабре), ее широко отмечали в зарубежном научном сообществе. 2012 год бы провозглашен годом Алана Тьюринга. В праздновании юбилея приняли участие многочисленные университеты, научные лаборатории, ассоциации, коммерческие компании. Он включил в себя лекции, конференции, выставки, фильмы, книги, написание стихов, посвященных Тьюрингу, учреждение стипендий, а так же различные соревнование. Одно из соревнований особенно привлекло мое внимание: Turing100 — очень масштабный тест Тьюринга. Это было самое большое соревнование среди примерно 150 тестов Тьюринга, проведенных к сегодняшнему дню. Обычно в тесте Тьюринга участвуют четыре системы и четверо судей. В соревновании Turing100 приняли участие пять чат-ботов, 30 судей и 25 скрытых человек.

image
Автор изображения — Harjit Mehroke

Читать дальше →
Total votes 90: ↑86 and ↓4+82
Comments110

Вышел PostgreSQL 10

Reading time2 min
Views52K

На самом деле прошло уже два дня, но статью на Хабр никто до сих пор не написал, так что придется мне устранять это упущение, что и делаю с удовольствием.


Итак, что же нового в этой версии PostgreSQL?


Во-первых, изменилось само версионирование. До "десятки" мы наблюдали множество минорных версий 9.x, которые выходили примерно раз в год и при этом вносили серьезные, далеко не минорные изменения. Поэтому с версии 10 было принято решение сделать нумерацию 10, 11, 12 и т.д. Кстати, MySQL, похоже пошел по тому же пути, прыгнул с 5.7 на 8.0


Ладно, это всё мелочи, перейдем к существу вопроса

Читать дальше →
Total votes 86: ↑81 and ↓5+76
Comments108

Кому из айтишников на Руси жить хорошо (а кому будет еще лучше)

Reading time11 min
Views34K
Похоже, сегодня ИТ-специалисту в России стало легче найти работу. Последние впечатления от российского рынка труда: предложения с уровнем зарплаты существенно выше среднего получают специалисты самых разных профилей и не обязательно высокой квалификации. Более того, похоже, что в кои-то веки ИТ-профессионалы получили возможность выбирать из конкурентных предложений! Кандидаты без специального образования и довольно посредственно, на уровне любителя, разбирающиеся в профильных технологиях, с гордостью публикуют в соцсетях свои новые должности — разработчиков, специалистов по технической поддержке, внедренцев…

К тому же, в прессе все чаще появляются истории о низкоквалифицированных разработчиках, которые тем не менее успешно проходили интервью, и уже в ходе работы наносили огромной финансовый ущерб компании. Так, Uber в 2015 случайно опубликовал паспортные данные своих водителей, а Google в 2010 году понес убытки в $100 млн долларов и проиграл суд компании Oracle за использование без разрешения 11 строк кода. И уже не из жизни гигантов: когда работодатель не понимает, что делает разработчик, а сам сотрудник пользуется этим и завышает как сложность своей работы, так и ее стоимость, а впоследствии и пренебрегает добросовестностью исполнения служебных заданий.

Наш интерес к этим вещам далеко не праздный, ведь для агентства AGIMA ИТ-профессионалы — главный производственный актив. Поэтому HR-отдел агентства попросил наших аналитиков отложить в сторону Google Analytics, сплит-тестирования, карточные сортировки и разобраться в этих вопросах. В ходе эксперимента ни один аналитик и текущий проект компании не пострадали.
Читать дальше →
Total votes 42: ↑31 and ↓11+20
Comments57

Необразованная молодёжь

Reading time4 min
Views87K
Все сейчас жалуются на большое количество желающих стать IT-специалистами и очень маленькое количество специалистов. Вот они проблемы от первого лица этих самых желающих.

Так получилось, что после окончания 9 класса, я поступил в колледж по профессии «Прикладная информатика по отраслям». Колледж — филиал хорошего института в северной столице нашей страны. Выбор был осознанный и я с детства интересовался информатикой. После зачисления, радости не было предела. Воображал себя сидя за компьютером в каком-нибудь крутом офисе создавая программу. Но как бывает в жизни, она бьёт, откуда не ждёшь.

image
Читать дальше →
Total votes 97: ↑74 and ↓23+51
Comments839

Зачем в 2017 году писать свой движок для мобильных игр?

Reading time16 min
Views15K
В наши дни существует много игровых движков. Двумерные, трехмерные, нативные и на скриптах. На первый взгляд уже сделано все что нужно и можно просто делать игру. Однако по статистике около половины из топ 100 мобильных игр сделаны на своих движках. Почему многие крупные студии делают проекты исключительно на своих технологиях? Что их не устраивает в тех движках, что сейчас есть? Чтобы ответить на этот вопрос нужно понять зачем нужен движок, какие они вообще бывают и чем отличаются.
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments24

Аналитика в госсекторе: особенности больших систем хранения данных

Reading time7 min
Views7.8K
Принято считать, что информационные технологии в государственных ведомствах приживаются тяжелее, и для этого мнения есть ряд объективных причин. Однако, как говорил Альф: «Вы не любите котов? Значит, вы не умеете их готовить!». И сегодня мы хотим поговорить о том, как отличаются проекты в госкомпаниях с точки зрения бизнес-IT интегратора, и для каких целей госы создают большие хранилища для аналитических проектов.

Исторически государственные ведомства отличаются большей инертностью, потому что в них принято дольше согласовывать каждый шаг, потому что точка принятия решения в них размыта, потому что заказчик может многократно менять задание, уточняя, что же ему необходимо в действительности. Сами чиновники в своем большинстве воспринимают ИТ-проекты без лишнего энтузиазма. В госструктурах обычно нет какого-то сильного сопротивления новому, но и стремления к нему тоже нет, в частности, оказывается непросто найти заинтересованный в результатах «локомотив» внедрения новых решений. В итоге внедрение идет медленнее, и со стороны начинает казаться, что заказчику вообще не нужен тот или иной проект.

Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments14

Зачем бизнесу игры и при чем тут ЕРАМ

Reading time5 min
Views9.4K
В 2015 году к ЕРАМ присоединилась геймдев-студия Signus Labs. Внутри ЕРАМ она стала подразделением Virtual Reality, Augmented Reality and Game Experience Delivery. Там разрабатывают игровые решения для бизнеса.

Зачем корпорациям клиенты-игроки, что за игры делают в ЕРАМ и как устроена работа геймдизайнеров и VR/AR-разработчиков?

Читать дальше →
Total votes 15: ↑9 and ↓6+3
Comments3

Эргономика текста: Пользователь социальных сетей видит около 54 000 слов в день

Reading time6 min
Views5.4K

Как понять качественно ли мы пишем?


image

Сколько слов вы видите за день? Верьте или нет, исследования показали, что типичный пользователь социальных сетей видит около 54 000 слов в день.

Черт, это больше слов, чем вы можете найти в книге! Например, “Бойцовский клуб”, один из моих любимых романов, содержит всего 49,962 слова.

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

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

Давайте взглянем на 5 прикольных способов проверки содержания вашей статьи. Используя эти проверки, вы можете получить ценные знания о вашем писательском навыке и весело провести время в процессе.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments13

12 инструментов повышения личной продуктивности, которые помогут вам не профакапить дедлайн

Reading time8 min
Views48K


В этой статье представлены инструменты, которые помогут вам повысить рабочую продуктивность. Они сгруппированы в четыре категории: управление временем, чек-листы, планировщики и управление проектами. Каждая группа позволяет решить определённый тип проблем.
Читать дальше →
Total votes 35: ↑30 and ↓5+25
Comments40

Числа — доклад Дугласа Крокфорда о системах счисления в жизни и в программировании

Reading time20 min
Views14K
Сейчас компьютеры решают почти любые задачи. Они работают и приносят выгоду практически во всех отраслях. Но давайте посмотрим, что такое компьютер. Это машина, которая манипулирует числами. Подобные манипуляции — практически все, что они могут делать. Поэтому тот факт, что они решают так много задач, просто манипулируя числами, кажется почти волшебным.

Давайте посмотрим, откуда пришли числа, куда они могут привести и как они работают.



В основе статьи — доклад Дугласа Крокфорда (Douglas Crockford) с июньской конференции HolyJS 2017 в Санкт-Петербурге (презентацию доклада можно найти тут)
Total votes 27: ↑26 and ↓1+25
Comments10

Чем отличается проектирование станции метро от проектирования коттеджа

Reading time7 min
Views26K


В инженерной части, конечно, всем. Список отличий примерно такой же, как у паровоза и апельсина. А вот в части интерьера — минимально. Разве что нет фасадов, нет заполнения наружных проёмов, много уникальных дверей из нержавейки. До КРОК я работал в проектной команде Инжпроекта из 25 человек по 4 станциям, уже новым, то есть достаточно ужатым в плане бюджета. Расскажу на примере «Румянцево», где я отвечал за интерьер.

У нас в ИТ-компании образовалась команда архитекторов, и поэтому нам часто задают такие вопросы. Постараюсь ответить на этот и ещё пару частых.

Про метро начнём с того, что сейчас все станции делают уникальными. Раньше, ещё в СССР, были так называемые «сороконожки» (их ещё из-за кафеля на жаргоне называли «туалетными станциями») — их запускали по одной, искали оптимальный вид станции. Даже нашли, но позже пришли к тому, что нужно всё же делать станции различающимися.
Читать дальше →
Total votes 105: ↑103 and ↓2+101
Comments29

Почему я больше не использую MVC-фреймворки

Reading time16 min
Views133K


Уважаемые хабравчане.

Поскольку дискуссия вокруг статьи идет весьма активно, Жан-Жак Дюбре (он читает комментарии) решил организовать чаты в gitter.

Вы можете пообщаться с ним лично в следующих чатах:
https://gitter.im/jdubray/sam
https://gitter.im/jdubray/sam-examples
https://gitter.im/jdubray/sam-architecture

Также автор статьи разместил примеры кода здесь: https://bitbucket.org/snippets/jdubray/

По поводу кода он оставил следующий комментарий:
I don't code for a living, so I am not the best developer, but people can get a sense of how the pattern works and that you can do the exact same thing as React + Redux + Relay with plain JavaScript functions, no need for all these bloated library (and of course you don't need GraphQL).
Читать дальше →
Total votes 78: ↑67 and ↓11+56
Comments254

Information

Rating
Does not participate
Date of birth
Registered
Activity