Как стать автором
Обновить
216.53
Рейтинг

Анализ и проектирование систем *

Анализируй и проектируй

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Тайны Дистанционного Электронного Голосования в России нет

Информационная безопасность*Анализ и проектирование систем*IT-инфраструктура*Будущее здесь

TL;DR в Российских системах электронного голосования нет достаточного обеспечения тайны голосования, и похоже это сделано специально

Executive summary: В Российских системах Дистанционного Электронного голосования допущена организационная ошибка при постановке задания, позволяющая при использовании побочного канала сбора данных о пользователях (на уровне логов вебсервера) организатору голосования нарушить тайну голосования. Разработчики специально обходят тему наличия и необходимости ликвидации такой уязвимости.

Почему ваш выбор - не тайна
Всего голосов 187: ↑168 и ↓19+149
Просмотры31K
Комментарии 250

Новости

Показать еще

Что стоит знать при переходе на Mac

Блог компании JUG Ru GroupАнализ и проектирование систем*Графические оболочки**nix*

Вчера на Хабре вызвал шумиху пост об ужасных неудобствах Mac. В комментариях много было сказано о неинтуитивности macOS: мол, зачастую без гугления не поймёшь, как что-то сделать. И даже не узнаешь, что это вообще возможно сделать. И всё это значит, что с UX что-то не так.

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

Надеюсь, кому-то на Хабре это поможет и сделает переход менее болезненным. А если вы сами давно пользуетесь Mac, дополняйте в комментариях, наверняка я что-то ценное упустил.

Читать далее
Всего голосов 154: ↑141 и ↓13+128
Просмотры35K
Комментарии 347

7 причин почему вам не стоит переходить на Mac, или как справиться с этой демонической машиной

Анализ и проектирование систем*Графические оболочки**nix*Ноутбуки
Из песочницы

Mac наступает со своим чипом M1. Новичков в этой экосистеме должно заметно прибавиться. Сам я многие годы с уважением смотрел на эти интерфейсы. Слушая какой же Mac удобный, плавный и интуитивный. Какой там великолепный Trackpad, что даже мышь не нужна и бла бла бла. И вот, после 15 лет работы CAD разработчиком, я решил поменять профиль и стать программистом. А чтобы не терять мотивацию в процессе обучения, выбрал для себя наиболее наглядное направление, как мне показалось — iOS разработка. Сказано — сделано. MacBook Pro 16” уже год мой основной компьютер.

Так что же с ним не так?
Всего голосов 378: ↑309 и ↓69+240
Просмотры86K
Комментарии 1033

Большие данные и математические алгоритмы в руках коммерсанта

Блог компании М.Видео-ЭльдорадоАнализ и проектирование систем*Big Data*Машинное обучение*Data Engineering*

Вы когда-нибудь задумывались, почему на полках любых магазинов — от гипермаркетов электроники до гастрономов — стоят именно эти товары и именно в такой последовательности? А Категорийные Менеджеры (и дата-сайентисты, кстати) думают об этом постоянно. Сегодня мы расскажем, как в М.Видео-Эльдорадо использовали искусственный интеллект для заполнения полок и изучили потребности клиентов при управлении ассортиментом.

Читать далее
Всего голосов 28: ↑28 и ↓0+28
Просмотры3.1K
Комментарии 3

Добавить две кнопки — почему так дорого?

Разработка веб-сайтов*Анализ и проектирование систем*Проектирование и рефакторинг*IT-компании
Из песочницы

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

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

— Два месяца? На простейший функционал? Это неприемлемо! — вы пытаетесь давить, пугать, просить, торговаться; разработчики явно нервничают, но сроки не двигают. В итоге вы приходите к какому-то компромиссу, который не нравится никому, злые и недовольные. 

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

Читать далее
Всего голосов 91: ↑86 и ↓5+81
Просмотры35K
Комментарии 168

V8 в бэкенде С++: от одного JS-скрипта до фреймворка онлайн-вычислений

Блог компании ЯндексВысокая производительность*JavaScript*Анализ и проектирование систем*Проектирование и рефакторинг*
В этой статье я расскажу о долгом путешествии, в котором простая идея выноса в JavaScript часто меняющихся фрагментов алгоритма постепенно выросла в универсальный фреймворк, позволяющий быстро создавать микросервисы и так же быстро их развивать. Сейчас он служит основой для множества микросервисов в Яндекс Go. Тут не будет много специфики Go. Вместо этого будет много разработки и решений технических задач (а не продуктовых). Ещё я, конечно, расскажу про возникшие в процессе трудности: если вам, например, интересно, как V8 уживается с корутинами или как мы оптимизировали работу с ним для производительности, то добро пожаловать под кат.


Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Просмотры3.9K
Комментарии 6

Учет времени сделки на каждой стадии для подсчета KPI

Анализ и проектирование систем*Управление проектами*

Компания Cedis обрабатывает большой поток входящих заявок абонентов, на подключение, подачу документов, различные запросы населения. Им не удобно использовать в своей работе с СРМ задачи, так как с задачей сложно работать последовательно по этапам. Поэтому основной инструмент для них — сделки. 

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

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Просмотры704
Комментарии 2

Архитектура приложения стартапа. Взгляд с высоты птичьего полета

Анализ и проектирование систем*Node.JS*ООП*TypeScript*Микросервисы*

Приветствую всех читателей Хабра.

Немного разбросал текущие дела и пришло время для написания следующего поста в моем запланированном цикле статей:

Читать далее
Всего голосов 10: ↑7 и ↓3+4
Просмотры2.2K
Комментарии 6

One Day Offer от Альфа-Банка

Блог компании Альфа-БанкJava*Анализ и проектирование систем*Карьера в IT-индустрии

Мы расширяем нашу команду IT-специалистов и решили пойти против всех известных правил найма в банк. Вместо череды собеседований разного уровня с долгими паузами между этапами и недельным ожиданием результатов — проведём One Day Offer, где можно получить приглашение на работу всего за один день.

Когда?

4 сентября – Java-разработчики (подать заявку нужно до 2 сентября).

11 сентября – JavaScript-разработчики (заявки – до 9 сентября).

18 сентября – системные аналитики (заявки – до 16 сентября).

Читать далее
Всего голосов 11: ↑6 и ↓5+1
Просмотры5.3K
Комментарии 12

Изоляция модели предметной области

Программирование*Анализ и проектирование систем*Совершенный код*Проектирование и рефакторинг*ООП*
Перевод

Эта статья является переводом материала «Domain model isolation».

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

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Просмотры3.2K
Комментарии 17

SSE, нотификации, Node.js и при чём тут C#?

Анализ и проектирование систем*Серверная оптимизация*Node.JS*C#*Распределённые системы*
Из песочницы

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

До этого я никогда не занимался уведомлениями, но был осведомлен, что есть для этого несколько путей: WebSocket, SSE и Long Polling.

Читать далее
Всего голосов 12: ↑10 и ↓2+8
Просмотры5.5K
Комментарии 12

Как мы улучшали процесс загрузки товаров на AliExpress.ru: машинное обучение, проблемы и решения

Блог компании AliExpress РоссияАнализ и проектирование систем*Big Data*Машинное обучение*

Всем привет! Меня зовут Нина, я работаю в команде платформы для продавцов  AliExpress. Сегодня я расскажу о том, как совместно с коллегами из команды Knowledge Engineering мы адаптировали систему для загрузки товаров, чтобы всё работало в пару кликов. Поехали!

Читать далее
Всего голосов 14: ↑12 и ↓2+10
Просмотры2.3K
Комментарии 11

“Тайный клуб системной аналитики” или путь к идеалу

Блог компании Банк «Открытие»Анализ и проектирование систем*Управление разработкой*Управление персоналом*Подготовка технической документации*

Hello World!

Меня зовут Сергей Павлов, я тимлид по системной аналитике в банке "Открытие” на продукте МСБ “Бизнес-Портал”. Хочу рассказать, как я решал задачи по управлению командой, когда к ней присоединился.

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

Итак, морозное утро, вежливый голос руководителя мне говорит: “Это команда системных аналитиков, начинай творить добро”. Я смог выдавить только “угу” и сел думать насчет того самого творить и того самого добра.

Читать далее про добро
Всего голосов 4: ↑4 и ↓0+4
Просмотры2.3K
Комментарии 5

Модули, монолиты и микросервисы

Блог компании ФлантАнализ и проектирование систем*Проектирование и рефакторинг*Микросервисы*
Перевод

Прим. перев.: системный архитектор Avery Pennarun, создавший VPN-решение Tailscale на базе WireGuard, размышляет об отличиях монолитов с модулями от микросервисов. Он рассказывает об эволюции подхода к модульности вообще и о том, почему изоляция до сих пор далека от совершенства, а также делится своим мнением о том, когда проводить границы между сервисами рационально.

В последнее время меня часто спрашивают, в каких случаях переход на микросервисы — хорошая затея. В статье «Systems design explains the world» я размышляю о таких типичных проблемах, как эффект второй системы, дилемма инноваторов и других. Может ли проектирование систем дать ответ на вопрос о микросервисах? Да, хотя ответы могут вам не понравиться.

Читать далее
Всего голосов 37: ↑37 и ↓0+37
Просмотры6.8K
Комментарии 1

Личный кабинет: обрабатываем жалобы клиентов B2B и B2C

Разработка веб-сайтов*Анализ и проектирование систем*Клиентская оптимизация*Управление проектами*

Бизнесы работают с клиентами через встречи, звонки, SMS, сайты и сообщения в социальных сетях. Чем больше этого общения вынесено в онлайн — тем оно быстрее для клиента и дешевле для бизнеса.

В этой статье рассматриваем, зачем вообще нужен личный кабинет и как в нем осуществляется обработка жалоб.

Читать далее
Рейтинг0
Просмотры1.6K
Комментарии 0

Создаем Конечный Автомат на PHP

PHP*Программирование*Анализ и проектирование систем*Проектирование и рефакторинг*Промышленное программирование*
Перевод

Конечный Автомат (State Machine), также называемый Automata (да, как и игра), - это концепция для разработки, организации рабочих и технологических процессов с учетом текущего «состояния» какой-то задачи, изменения её состояний и, по возможности, для автоматизации процесса.

Я объясню на примере. Предположим, что я хочу купить молоко, тогда в такая задача будет иметь примерно следующие состояния...

Читать далее
Всего голосов 17: ↑13 и ↓4+9
Просмотры7.5K
Комментарии 11

Java. Factory Method Pattern in Game Server

Java*Анализ и проектирование систем*Разработка игр*Дизайн игр*Софт

Фабричный метод - это творческий шаблон проектирования, который предоставляет интерфейс для создания объектов в родительском классе,  но позволяет подклассам изменять тип создаваемых объектов.

Проблема

Представьте, что вы создаете модуль игровых наград. Первая версия вашего приложения может обрабатывать только награду ЗОЛОТО, поэтому основная часть вашего кода находится внутри класса GoldReward.

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

Отличные новости, правда? А как насчет кода?

Читать далее о фабричном методе
Всего голосов 11: ↑9 и ↓2+7
Просмотры2.7K
Комментарии 5

Проблематика формирования процесса автоматизации управления данными менеджмента информационной безопасности

Информационная безопасность*Анализ и проектирование систем*Разработка под e-commerce*Управление продуктом*Управление персоналом*

Аннотация


В статье представляется исследование политик информационной безопасности (далее — ИБ) в плоскости формирования, критериальных характеристик, категорирования, в части касающейся описания проблематик вопроса автоматизации процессов потокового документооборота, с приведением превентивных и вариативных выборок. Вопрос рассматривается со стороны системы менеджмента информационной безопасности (далее — СМИБ).


В статье представлены форматы частных и общих политик ИБ относительно рынка Российской Федерации, включая меры управления секторами организационной-структуры предприятия, данных обрабатываемых внутри организации в плоскости категорирования коммерческой тайны (далее — КТ), целочисленных показателей формирующихся данных и соответствующей корреляции. Данные форматы рассматриваются со стороны принятых практик на территории РФ, включая перенятый опыт от зарубежных коллег, "бестпрактик", канонов и иного рода вариатив, которые применяются в настоящее время.


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


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

Читать дальше →
Всего голосов 4: ↑1 и ↓3-2
Просмотры1.3K
Комментарии 11

Иммутабельная архитектура

Программирование*Анализ и проектирование систем*Совершенный код*Проектирование и рефакторинг*Функциональное программирование*
Перевод

Эта статья является переводом материала «Immutable architecture».

В этом посте автор оригинала хотел бы показать общий подход к внедрению иммутабельности в кодовую базу на архитектурном уровне.

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

Читать далее
Всего голосов 15: ↑12 и ↓3+9
Просмотры6.3K
Комментарии 12

Архитектура IT-проекта с Attribute-Driven Design

Блог компании SimbirSoftАнализ и проектирование систем*Проектирование и рефакторинг*

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

Помимо разработки архитектуры, на старте требуется приблизительно оценить объем и стоимость проекта. Для этого мы в своей практике используем одну из проверенных методологий создания архитектуры ПО — Attribute-Driven Design (ADD). При этом мы опираемся на атрибуты качества того или иного IT-продукта. На их основе мы на этапе оценки (пресейла) создаём архитектурную концепцию системы

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

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Просмотры2.9K
Комментарии 4

Вклад авторов