Как стать автором
Обновить
369.54

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

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

Сначала показывать
Порог рейтинга
Уровень сложности

ТЗ, которое наконец-то вышло из-под контроля

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров466

Если вам кажется, что заказчик пришел с расплывчатым ТЗ или нужно задать очередной вопрос для уточнения требований. Вам не кажется. Настало время по-настоящему сложного ТЗ.

Читать далее
Всего голосов 4: ↑1 и ↓30
Комментарии1

Новости

Просто о сложном: используем концепцию каталога услуг для интеграции с сложными веб-сервисами и не только

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров421

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

Читать далее
Всего голосов 3: ↑3 и ↓0+5
Комментарии0

50 терминов системного дизайна, которые должен знать каждый разработчик

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров3.7K



1. Масштабируемость / Scalability


  • Масштабируемость — это способность системы поддерживать возросшую нагрузку путем добавления дополнительных ресурсов
  • Примером является добавление дополнительных серверов для обработки увеличившегося веб-траффика
  • Что такое масштабируемость и как ее достичь?

2. Балансировка нагрузки / Load Balancing


  • Балансировка нагрузки — это разделение входящего сетевого траффика между несколькими серверами для снижения нагрузки на каждый из них (во избежание того, чтобы на один сервер приходилось слишком много траффика)
  • Примером является распределение веб-траффика между несколькими экземплярами EC2 с помощью сервиса AWS Elastic Load Balancer (ELB)
  • Понимание балансировки нагрузки
Читать дальше →
Всего голосов 26: ↑23 и ↓3+29
Комментарии3

Как вести ИТ-проект если ты не айтишник? (часть 2)

Время на прочтение10 мин
Количество просмотров529

Первая часть статьи была опубликована тут: Как вести ИТ-проект если ты не айтишник? (часть 1)

Продолжим знакомиться с интересным и увлекательным миром проектного управления!

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

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

Истории

Чистый код: Аргументы командной строки

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.1K

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

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

Разработку модуля начнем с определения цели, очень тривиально, но правильно поставленная цель, значительно упрощает реализацию. Основной целью модуля будет создание инструмента удобного для пользователя. Легко добавлять, изменять значения аргументов, легко перебирать значения.

Опишем функционал модуля.

Читать далее
Всего голосов 10: ↑1 и ↓9-6
Комментарии3

Как написать ТЗ на простую программу (калькулятор)

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров8.1K

Рассмотрим, как может выглядеть работа по созданию ТЗ на несложную программу.

Возьмём калькулятор, который будет выполнять базовые арифметические операции (+, -, *, /).

Работу можно построить в 2 этапа:

Читать далее
Всего голосов 21: ↑16 и ↓5+16
Комментарии83

Автоматизация набирает обороты: становятся ли инженеры-программисты ненужными?

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров8.7K

Стремительный прогресс больших языковых моделей значительно изменил сферу разработки программного обеспечения с момента появления ChatGPT в конце 2022 года. В 2023 году я модерировал панель с участием Максима Фатеева, соучредителя и генерального директора Temporal IO , «надежной» системы выполнения с открытым исходным кодом для разработки приложений, и Ананда Кулкарни, генерального директора Crowdbotics , платформы для безопасной разработки приложений с использованием систематического повторного использования кода. Оба поделились своими взглядами на влияние ИИ на роль инженеров-программистов.

Читать далее
Всего голосов 9: ↑3 и ↓6+1
Комментарии3

Как вести ИТ-проект если ты не айтишник? (часть 1)

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров5K

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

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

Ниже предлагаю рассмотреть основные этапы ИТ-проекта и какие действия необходимо совершать на каждом из них.

Любопытно, что там дальше
Всего голосов 17: ↑10 и ↓7+7
Комментарии11

Реализация REST API-метода с пагинацией на примере JSON-Schema и OpenAPI

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров5K

В этой статье на примере JSON-схемы и спецификации OpenAPI рассматривается проектирование метода REST API с пагинацией, предназначенного для запроса данных из БД.

Данный текст преимущественно ориентирован на начинающих системных аналитиков и всех, кто интересуется проектированием IT-систем.

Читать далее
Всего голосов 12: ↑6 и ↓6+1
Комментарии14

История создания ASoar: от идеи до реализации системы кибербезопасности

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров1K

Я описал свой путь в предыдущей статье https://habr.com/ru/articles/813239/, но если коротко, то моя карьера в сфере информационной безопасности началась, как и у многих, с работы в ИТ-инфраструктуре. Поначалу моя компания занималась тем, что поддерживала стабильность сетей и систем для различных компаний, и регулярно сталкиваясь с типичными проблемами, связанными с кибератаками. Однажды в компании, где штат ИБ был минимален, мы внедрили SIEM — решение, которое, как считалось, должно было кардинально улучшить безопасность. Однако это был дорогостоящий и трудоёмкий процесс. SIEM не только не оправдал ожиданий, но и породил кучу инцидентов, большинство из которых не представляли реальной угрозы. Специалисты тратили время на анализ множества событий, которые, по сути, были незначительными. С каждым новым ложным срабатыванием доверие к системе падало. В конце концов, люди просто начали игнорировать предупреждения, считая, что система безопасна, хотя это было далеко не так.

Так я сформулировал ключевую проблему SIEM:
В обычных организациях, где число специалистов по ИБ ограничено, использование SIEM часто не приводит к ожидаемым результатам. И именно это открыло мне глаза на необходимость поиска нового подхода. Я начал думать о том, как можно было бы автоматизировать процессы безопасности, не нагружая команду ложными тревогами и сложными настройками.

Читать далее
Всего голосов 5: ↑5 и ↓0+7
Комментарии9

Надежность в процессах. Часть 2

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров860

1 Терминология

В «Надежность в процессах. Часть 1» [OpRes24-1] были определены (упрощены): надежность, процесс и надежность в процессах. Надежность – это способность безотказно работать (работать без отказов). Надежность процесса – это как способность безотказно работать («главное процесс»), так и выдавать требуемый результат («главное результат»). Количественно – это вероятность безотказной работы (вероятность застать процесс работоспособным) и вероятность требуемого результата на выходе процесса.

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

Это относится как ИТ-системе (кластер серверов) и не ИТ-системе (сейф), так и к системе процессов (операций) и составных частей процесса, включая его ресурсы.

Если в классической теории надёжности (Надёжность в технике [27.002]) обычно рассматриваются внутренние воздействующие деструктивные факторы на техническую систему типа отказ \ сбой оборудования \ ПО, то «Надежность в процессах и операциях» (операционная надёжность) рассматривает также непреднамеренные ошибки персонала (операционные риски) и внутреннее мошенничество, внешние атаки на процессы компании, клиентов компании (социальная инженерия), стихийные бедствия (техногенные катастрофы). В конечном счете неважно: «система процессов» отказала (не выполнила задачу) из-за какой-либо поломки или из-за ее перегрузки (от нежданного «наплыва клиентов» до DDoS-атаки), поэтому в состав показателей Надежность в процессах добавляем «доступность»:

Читать далее
Всего голосов 5: ↑4 и ↓1+6
Комментарии0

Data Warehouse, Data Lake, Data Lakehouse, Data Fabric, Data Mesh – что это такое, и в чем разница между концепциями

Время на прочтение14 мин
Количество просмотров10K

Эпоха современных хранилищ данных началась с появления реляционных баз данных (далее БД). С появлением бизнес‑аналитики следствием развития БД стала концепция Data Warehouse (корпоративное хранилище данных, DWH).

Дальнейший рост объемов данных, введение термина «большие данные» и разнообразие требований к обработке привели к эволюции архитектур данных.

Рассмотрим этапы эволюции архитектуры данных: чем отличаются концепции, какие у них преимущества и недостатки, для каких задач в работе с данными подходят.

Читать далее
Всего голосов 14: ↑12 и ↓2+15
Комментарии3

Запускаем Embedded Linux на Hard- и Soft-CPU Xilinx Zynq: проект программируемой логики

Уровень сложностиСложный
Время на прочтение20 мин
Количество просмотров4.4K

Привет, Хабр! Меня зовут Павел Панкратов, я ведущий инженер-программист в дивизионе искусственного интеллекта YADRO. Этим текстом я запускаю цикл статей — экскурс в особенности работы с SoC, комбинирующей в себе реализованные в «железе» аппаратные блоки (Hard IP’s) и программируемую логику (Soft IP’s). Основная задача, которая объединит все три статьи, — параллельный запуск встраиваемой операционной системы на двух различных по архитектуре процессорах, представленных в виде Hard и Soft IP-блоков.

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

Читать далее
Всего голосов 35: ↑35 и ↓0+48
Комментарии5

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн

В вашем SIEM Detection as a Code есть? Нет? Сейчас будет

Время на прочтение7 мин
Количество просмотров2K

Привет! Меня зовут Кермен, я — аналитик на второй линии SOC. Наша команда исследует данные от инфраструктуры и сервисов Ozon для выявления нелегитимной активности: от нарушения политик информационной безопасности до целенаправленных атак.

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

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

Нам захотелось навести порядок, поэтому позаимствовали опыт разработчиков: сделали новый формат хранения, добавили больше метаинформации, настроили CI/CD, и теперь у наших объектов есть свой жизненный цикл, включающий в себя этапы разработки, тестирования, перенос в продакшн, пересмотр и отключение.

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

Читать далее
Всего голосов 43: ↑42 и ↓1+46
Комментарии11

Анализ распределённых данных в PostgreSQL с помощью FDW

Время на прочтение3 мин
Количество просмотров938

С ростом объёмов данных и увеличением популярности распределённых систем необходимость в анализе распределённых данных становится всё более актуальной. PostgreSQL, благодаря своему мощному функционалу и гибкости, предлагает инструмент, который значительно облегчает эту задачу — Foreign Data Wrappers (FDW).

FDW позволяет подключаться к удалённым базам данных, как если бы они были локальными таблицами. Это удобно для аналитики, интеграции данных из различных источников и упрощает работу с распределёнными системами. FDW поддерживает не только PostgreSQL, но и другие базы данных, такие как MySQL, SQLite и даже API.

Читать далее
Всего голосов 9: ↑5 и ↓4+6
Комментарии5

Как построить управление корпоративными знаниями по ИТ-продукту

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.8K

Хочу поделиться своим опытом организации и построения корпоративной базы знаний для продуктовой ИТ-разработки. В конце статьи подведу итоги внедрения такой системы.

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

Стриминговые фреймворки: Apache Flink

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.2K

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

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

Как T-shape бэкграунд влияет на оптику исследователей и причем тут антропология

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров474

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

Читать далее
Всего голосов 8: ↑5 и ↓3+6
Комментарии0

Сказочный вопрос: кто такой бизнес-аналитик?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.1K

Один раз мне задали вопрос: чем бизнес‑аналитик отличается от секретаря? Казалось бы, разработке ПО в России уже больше 2х десятков лет, но роль бизнес‑аналитика до сих пор вызывает вопросы.

В принципе, вместо секретаря можно добавить любую другую профессию и спросить: а чем БА отличается от бухгалтера, от юриста или технического писателя?

Читать далее
Всего голосов 14: ↑12 и ↓2+14
Комментарии20

Системный аналитик с ЗП 400+. Найти за 30 дней. Часть 2 «Проверка на прочность»

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров24K

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

Кому предложат ЗП 200-, а кому 400+? Собеседование расставит всё на свои места.

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

Читать далее
Всего голосов 25: ↑22 и ↓3+24
Комментарии20
1
23 ...