TL;DR в Российских системах электронного голосования нет достаточного обеспечения тайны голосования, и похоже это сделано специально
Executive summary: В Российских системах Дистанционного Электронного голосования допущена организационная ошибка при постановке задания, позволяющая при использовании побочного канала сбора данных о пользователях (на уровне логов вебсервера) организатору голосования нарушить тайну голосования. Разработчики специально обходят тему наличия и необходимости ликвидации такой уязвимости.
Анализ и проектирование систем *
Анализируй и проектируй
- Новые
- Лучшие
- Все
- ≥0
- ≥10
- ≥25
- ≥50
- ≥100
Новости
Что стоит знать при переходе на Mac
Вчера на Хабре вызвал шумиху пост об ужасных неудобствах Mac. В комментариях много было сказано о неинтуитивности macOS: мол, зачастую без гугления не поймёшь, как что-то сделать. И даже не узнаешь, что это вообще возможно сделать. И всё это значит, что с UX что-то не так.
Тут возникает вопрос «а поняли бы мы Windows без гугления, если бы не были знакомы с ней с детства?» Но я хочу не ввязываться в бесконечные споры «какая ОС лучше» а подойти конструктивнее. Действительно, при переходе с Windows возникает ряд неинтуитивных моментов. И чтобы при этом не приходилось гуглить кучу разных вопросов или читать длиннющие пользовательские руководства, я решил описать в одном тексте самые главные вещи, которые приходят мне в голову.
Надеюсь, кому-то на Хабре это поможет и сделает переход менее болезненным. А если вы сами давно пользуетесь Mac, дополняйте в комментариях, наверняка я что-то ценное упустил.
7 причин почему вам не стоит переходить на Mac, или как справиться с этой демонической машиной
Mac наступает со своим чипом M1. Новичков в этой экосистеме должно заметно прибавиться. Сам я многие годы с уважением смотрел на эти интерфейсы. Слушая какой же Mac удобный, плавный и интуитивный. Какой там великолепный Trackpad, что даже мышь не нужна и бла бла бла. И вот, после 15 лет работы CAD разработчиком, я решил поменять профиль и стать программистом. А чтобы не терять мотивацию в процессе обучения, выбрал для себя наиболее наглядное направление, как мне показалось — iOS разработка. Сказано — сделано. MacBook Pro 16” уже год мой основной компьютер.
Большие данные и математические алгоритмы в руках коммерсанта
Вы когда-нибудь задумывались, почему на полках любых магазинов — от гипермаркетов электроники до гастрономов — стоят именно эти товары и именно в такой последовательности? А Категорийные Менеджеры (и дата-сайентисты, кстати) думают об этом постоянно. Сегодня мы расскажем, как в М.Видео-Эльдорадо использовали искусственный интеллект для заполнения полок и изучили потребности клиентов при управлении ассортиментом.
Добавить две кнопки — почему так дорого?
Если у вас есть свой бизнес или вы работаете в бизнес-подразделении более-менее крупной компании, особенно на руководящей позиции, вы, скорее всего, сталкивались с заказной разработкой программного обеспечения или столкнетесь с ней, когда захотите улучшить свои результаты. Под заказной разработкой я подразумеваю не только контрактные отношения с подрядной организацией, но ваших собственных штатных IT-шников.
Перед началом разработки, как водится, нужно составить план - ресурсы, сроки, деньги - все как у людей. Вы приходите на встречу с легким сердцем: задача небольшая, нужно всего-то добавить пару форм и отчет, а вы, хоть и не специалист, но понимаете, что это не может быть сложным. Но все меняется, когда разработчики называют сроки.
— Два месяца? На простейший функционал? Это неприемлемо! — вы пытаетесь давить, пугать, просить, торговаться; разработчики явно нервничают, но сроки не двигают. В итоге вы приходите к какому-то компромиссу, который не нравится никому, злые и недовольные.
Мы попробуем разобраться, почему так происходит и откуда берутся эти огромные сроки и оценки. К написанию этой статьи меня подтолкнул недавний кейс: наш диалог с заказчиком дошел, казалось, до абсурда. Причем — уверен — заказчик думал так же. В этой статье я разберу наш реальный кейс и на его примере станет понятно, что стоит за непониманием и конфликтами, с которыми сталкивалось большинство заказчиков. Эта статья — в первую очередь для тех, кто выступает в роли заказчика.
V8 в бэкенде С++: от одного JS-скрипта до фреймворка онлайн-вычислений
Учет времени сделки на каждой стадии для подсчета KPI
Компания Cedis обрабатывает большой поток входящих заявок абонентов, на подключение, подачу документов, различные запросы населения. Им не удобно использовать в своей работе с СРМ задачи, так как с задачей сложно работать последовательно по этапам. Поэтому основной инструмент для них — сделки.
Далее мы рассказываем, как разрабатывали способ расчет времени, в течение которого сделки находятся на определенной стадии работы.
Архитектура приложения стартапа. Взгляд с высоты птичьего полета
Приветствую всех читателей Хабра.
Немного разбросал текущие дела и пришло время для написания следующего поста в моем запланированном цикле статей:
One Day Offer от Альфа-Банка
Мы расширяем нашу команду IT-специалистов и решили пойти против всех известных правил найма в банк. Вместо череды собеседований разного уровня с долгими паузами между этапами и недельным ожиданием результатов — проведём One Day Offer, где можно получить приглашение на работу всего за один день.
Когда?
4 сентября – Java-разработчики (подать заявку нужно до 2 сентября).
11 сентября – JavaScript-разработчики (заявки – до 9 сентября).
18 сентября – системные аналитики (заявки – до 16 сентября).
Изоляция модели предметной области
Эта статья является переводом материала «Domain model isolation».
Термин «изоляция модели предметной области» уже давно используется, но его значение может быть не таким очевидным, как многие думают. В этом посте автор оригинала попытается описать, что значит правильно изолировать модель предметной области и почему это важно.
SSE, нотификации, Node.js и при чём тут C#?
Вписавшись в очередной провальный заранее стартап, мне прилетела задача: нужны уведомления на сайте. Ладно - сказал я себе. Открываю любимую IDE и начинаю писать очередной микросервис.
До этого я никогда не занимался уведомлениями, но был осведомлен, что есть для этого несколько путей: WebSocket, SSE и Long Polling.
Как мы улучшали процесс загрузки товаров на AliExpress.ru: машинное обучение, проблемы и решения
Всем привет! Меня зовут Нина, я работаю в команде платформы для продавцов AliExpress. Сегодня я расскажу о том, как совместно с коллегами из команды Knowledge Engineering мы адаптировали систему для загрузки товаров, чтобы всё работало в пару кликов. Поехали!
“Тайный клуб системной аналитики” или путь к идеалу
Hello World!
Меня зовут Сергей Павлов, я тимлид по системной аналитике в банке "Открытие” на продукте МСБ “Бизнес-Портал”. Хочу рассказать, как я решал задачи по управлению командой, когда к ней присоединился.
Скажу сразу: тут я не буду описывать графики, капасити, велосити и любые инструменты, связанные с командными метриками. Речь пойдет именно об организации процессов для повышения качества взаимодействия при коллективной работе.
Итак, морозное утро, вежливый голос руководителя мне говорит: “Это команда системных аналитиков, начинай творить добро”. Я смог выдавить только “угу” и сел думать насчет того самого творить и того самого добра.
Модули, монолиты и микросервисы
Прим. перев.: системный архитектор Avery Pennarun, создавший VPN-решение Tailscale на базе WireGuard, размышляет об отличиях монолитов с модулями от микросервисов. Он рассказывает об эволюции подхода к модульности вообще и о том, почему изоляция до сих пор далека от совершенства, а также делится своим мнением о том, когда проводить границы между сервисами рационально.
В последнее время меня часто спрашивают, в каких случаях переход на микросервисы — хорошая затея. В статье «Systems design explains the world» я размышляю о таких типичных проблемах, как эффект второй системы, дилемма инноваторов и других. Может ли проектирование систем дать ответ на вопрос о микросервисах? Да, хотя ответы могут вам не понравиться.
Личный кабинет: обрабатываем жалобы клиентов B2B и B2C
Бизнесы работают с клиентами через встречи, звонки, SMS, сайты и сообщения в социальных сетях. Чем больше этого общения вынесено в онлайн — тем оно быстрее для клиента и дешевле для бизнеса.
В этой статье рассматриваем, зачем вообще нужен личный кабинет и как в нем осуществляется обработка жалоб.
Создаем Конечный Автомат на PHP
Конечный Автомат (State Machine), также называемый Automata (да, как и игра), - это концепция для разработки, организации рабочих и технологических процессов с учетом текущего «состояния» какой-то задачи, изменения её состояний и, по возможности, для автоматизации процесса.
Я объясню на примере. Предположим, что я хочу купить молоко, тогда в такая задача будет иметь примерно следующие состояния...
Java. Factory Method Pattern in Game Server
Фабричный метод - это творческий шаблон проектирования, который предоставляет интерфейс для создания объектов в родительском классе, но позволяет подклассам изменять тип создаваемых объектов.
Проблема
Представьте, что вы создаете модуль игровых наград. Первая версия вашего приложения может обрабатывать только награду ЗОЛОТО, поэтому основная часть вашего кода находится внутри класса GoldReward.
Через некоторое время ваша игра становится довольно популярной. Каждый день вы получаете десятки запросов от игроков о добавлении новой валюты в приложение.
Отличные новости, правда? А как насчет кода?
Проблематика формирования процесса автоматизации управления данными менеджмента информационной безопасности
Аннотация
В статье представляется исследование политик информационной безопасности (далее — ИБ) в плоскости формирования, критериальных характеристик, категорирования, в части касающейся описания проблематик вопроса автоматизации процессов потокового документооборота, с приведением превентивных и вариативных выборок. Вопрос рассматривается со стороны системы менеджмента информационной безопасности (далее — СМИБ).
В статье представлены форматы частных и общих политик ИБ относительно рынка Российской Федерации, включая меры управления секторами организационной-структуры предприятия, данных обрабатываемых внутри организации в плоскости категорирования коммерческой тайны (далее — КТ), целочисленных показателей формирующихся данных и соответствующей корреляции. Данные форматы рассматриваются со стороны принятых практик на территории РФ, включая перенятый опыт от зарубежных коллег, "бестпрактик", канонов и иного рода вариатив, которые применяются в настоящее время.
Также, стоит отметить, что популярность автоматизации процессов ИБ первоочередно связана с тем, что число рисков, инцидентов ИБ критически растет с каждым днем. Прогрессирующие злоумышленники стали понимать детально принципы работ организаций, которые подвергаются атакам, при этом им удается входить в группу доверенных пользователей из-за недостатка компетенций и сотрудников в данных компаниях.
Также злоумышленники научились применять более совершенные средства, методы для организации вторжений, "эксплойтов" и иного, для получения конфиденциальной информации, мошеннических действий и информации ограниченного доступа. Данной тематике уделена значительная часть профильных статей по ОИБ.
Иммутабельная архитектура
Эта статья является переводом материала «Immutable architecture».
В этом посте автор оригинала хотел бы показать общий подход к внедрению иммутабельности в кодовую базу на архитектурном уровне.
Прежде всего, термин «Иммутабельность», применяемый к структуре данных, такой как класс, означает, что объекты этого класса не могут изменяться в течение их жизненного цикла. Существует несколько типов иммутабельности со своими нюансами, но это не являются для нас существенным. По большей части мы можем сказать, что класс является либо изменяемым, что означает, что его экземпляры могут изменяться тем или иным образом, либо иммутабельным (неизменяемым), что означает, что как только мы создадим экземпляр этого класса, мы не сможем изменить его позже.
Архитектура IT-проекта с Attribute-Driven Design
Архитектура приложения — это его технологическая база, которая учитывает риски проекта, бюджет, требования и ограничения, потребности в масштабировании.
Помимо разработки архитектуры, на старте требуется приблизительно оценить объем и стоимость проекта. Для этого мы в своей практике используем одну из проверенных методологий создания архитектуры ПО — Attribute-Driven Design (ADD). При этом мы опираемся на атрибуты качества того или иного IT-продукта. На их основе мы на этапе оценки (пресейла) создаём архитектурную концепцию системы.
Рассмотрим этапы работы с архитектурной концепцией, возможные сложности и решения, исходя из опыта нашего Архитектурного комитета. Мы надеемся, что статья будет полезна архитекторам и разработчикам, желающим освоить методологию ADD, и может быть интересна смежным специалистам.
Вклад авторов
nmivan 1628.0AloneCoder 1188.8tangro 949.0olegbunin 944.0it_man 705.0DmitrySpb79 449.0zzeng 442.0Uris 413.0YuriPanchul 393.0petuhoff 353.8