🍀BitBitGo🍀 Системный Анализ
3.22K subscribers
217 photos
154 videos
112 links
Курс «Системный анализ»
https://bitbitgo.by/
Пишем про системный анализ.
Поможем стартануть в карьере IT. Присоединяйся!
Download Telegram
🏗 Модель C4: простой способ визуализировать архитектуру

C4 — это нотация, которая помогает описывать архитектуру системы на разных уровнях детализации. Она проста, понятна и удобна для аналитиков, разработчиков и заказчиков.

📐 Уровни C4

Context – показывает границы системы и взаимодействие с пользователями и внешними системами.
Container – основные части системы: сервисы, базы данных, приложения.
Component – внутренние модули контейнеров и их зависимости.
Code – (опционально) ключевые классы, интерфейсы, детали реализации.

🧩 Почему C4 полезна

Минимум абстракций – всего 5 базовых элементов.
Подходит для Agile – диаграммы легко обновлять по мере изменений.
Понятна всем участникам команды.

🔑 Лучшие практики

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

#ARCHITECTURE
4👍3🔥1
📦 Что такое XML и зачем он нужен?

XML (eXtensible Markup Language) — это текстовый формат для хранения и передачи структурированных данных. Он читаем как человеком, так и машиной, используется в веб-сервисах, API, конфигурациях и интеграциях между системами.

🔹 Зачем нужен XML?
– Обмен данными между приложениями и платформами
– Хранение данных в структурированном виде
– Конфигурация программ (например, Android, Maven)
– Поддержка международных стандартов (например, SOAP, RSS)

🔹 Пример XML-документа:

<order>
<id>12345</id>
<customer>
<name>Иван Иванов</name>
<email>ivan@example.com</email>
</customer>
<items>
<item>
<name>Книга</name>
<price>500</price>
</item>
<item>
<name>Ручка</name>
<price>50</price>
</item>
</items>
</order>


🔹 Ключевые особенности:
Расширяемый формат
Поддерживает схемы и строгую валидацию
Подходит для сложных структур и стандартизированных протоколов (например, SOAP)

#INTEGRATION
4
Forwarded from PR DevAnalytics|Write|IT-Manage
DevAnalyticsConf │26 августа

Конференция объединит аналитиков и их менеджеров. Здесь вы вместе найдёте решения, которые станут частью ваших процессов, а не просто идеей на бумаге.

💻 На DevAnalyticsConf выступят 20+ спикеров из ведущих компаний, среди них:
→ Михаил Вишневский, технический менеджер продуктов ИИ в X5 Tech. Тема доклада: «Коммуникации с ИИ. Сделаем сложное понятным, а понятное – сложным. За один промпт»
→ Илья Павличенко, консультант по организационным изменениям в ScrumRu. Тема доклада: «Что такое продукт – и почему это главное решение менеджмента»
→ Анастасия Московкина (ведущий системный аналитик в ИнфоТеКС) и Наталья Леонова (бизнес-аналитик Devexperts). Мастер-класс: «Прожарим риски по полной: техника MEAT в работе аналитика»
→ Елена Белоусова, СРО Ядро. Тема доклада: «Что ИИ никогда не отнимет у системного аналитика»
→ Станислав Доброхотов (Devrel ИнфоТеКС) и Владимир Бурмистров (главный системный архитектор ИТ-Холдинга Т1). Воркшоп «Ресурсный баттл»


Разберём Soft, Hard, а также AI -инструменты.
А после конференции – афтепати, чтобы отдохнуть от продуктивного дня!

Форматы участия: онлайн и офлайн (Москва, Radisson Blu Belorusskaya)

🍏Купить билет можно на сайте
🍏Следите за новостями в вк и тг
Please open Telegram to view this post
VIEW IN TELEGRAM
3
📦 Что такое JSON и зачем он нужен?

JSON (JavaScript Object Notation) — это лёгкий текстовый формат для обмена данными. Он прост для чтения и записи человеком, а также легко обрабатывается машинами.

🔹 Где используется:
– В REST API
– При обмене данными между клиентом и сервером
– Для конфигурации (например, package.json, tsconfig.json)
– Во многих языках программирования (Python, JavaScript, Go и др.)

🔹 Пример JSON:

{
"name": "Иван",
"age": 30,
"isActive": true,
"skills": ["SQL", "Python", "BPMN"]
}


🔹 Чем хорош:
Минимальный синтаксис
Поддерживается практически везде
Подходит для сериализации объектов

🔹 JSON vs XML:
– JSON проще и компактнее
– Идеален для web и мобильных API
– XML чаще используется в строго типизированных и legacy-системах

#INTEGRATION
4
This media is not supported in your browser
VIEW IN TELEGRAM
Начальник с очень чёткими и неразмытыми указаниями
😁103🔥1
1️⃣0️⃣Мир, созданный из единиц и нулей!

Знаете ли вы, что первый в мире программист – женщина? Ее звали Ада Лавлейс, и она написала алгоритм для аналитической машины Чарльза Бэббиджа, которую так и не построили при ее жизни.

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

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

📎Вот ссылка
https://t.me/addlist/ONnG1ktOhhYwZjQy

Никакой воды, только концентрат полезной информации.
🐳 Docker-шпаргалка: команды на каждый день

Docker уже давно стал обязательным инструментом для разработчика — как Git или IDE.
Он позволяет запускать приложения в изолированных контейнерах, одинаково работающих в любых средах: локальной, тестовой и прод.

📦 Работа с образами
🔹 docker images или docker image ls — список локальных образов.
🔹 docker pull <образ>:<тег> — скачать образ (по тегу или latest).
🔹 docker rmi <имя|ID> — удалить образ (-f — принудительно).
🔹 docker image prune [-a -f] — очистка “подвисших” образов.

🛠 Работа с контейнерами
🔹 docker ps / docker ps -a — список запущенных или всех контейнеров.
🔹 docker run — запуск контейнера:
  • -d — в фоне
  • -p хост:контейнер — проброс порта
  • -v путь:путь — монтирование папок
🔹 docker logs <id> — просмотреть логи.
🔹 docker exec -it <id> bash — команда внутри контейнера.

🏗 Работа с образами и Compose
🔹 docker history / docker inspect — детали образа или контейнера.
🔹 docker build -t <имя> . — сборка из Dockerfile (--no-cache, --platform).
🔹 docker-compose up -d / docker-compose down — запуск и остановка мультиконтейнерных приложений.

💡 Лучшие практики
🔹 Используй .dockerignore для исключения лишних файлов.
🔹 Оптимизируй Dockerfile: редко меняющиеся инструкции — вверху.
🔹 Применяй multi-stage сборки для уменьшения размера образов.
🔹 Не запускай процессы от root — указывай USER.
🔹 Регулярно чисти пространство: docker system prune -af.

#SYSTEMDESIGN
🔥2
🔐 JWT для системного аналитика — коротко и по делу

JWT (JSON Web Token) — компактный токен для аутентификации и авторизации. Формат:
header.payload.signature (три части, разделённые точками)

Структура

Header — тип и алгоритм подписи (напр. HS256/RS256)
Payload — утверждения (claims): sub, exp, roles и т.д.
Signature — проверка подлинности и целостности

Пример:

// Header
{"alg":"HS256","typ":"JWT"}
// Payload (фрагмент)
{"sub":"user_123","role":"admin","iat":1716200000,"exp":1716200900}


Как передаётся
В заголовке HTTP:
Authorization: Bearer <JWT>

Ключевые claims

sub (кто) — ID пользователя
exp (когда истекает) — всегда указывайте!
iat/nbf — когда выпущен / «не раньше чем»
iss/aud — издатель / аудитория
Пользовательские: role, scopes, email

Алгоритмы подписи

HS256 — один секрет (просто, но хуже масштабируется)
RS256 — приватный ключ подписывает, публичный проверяет (лучше для микросервисов и OAuth2)

Refresh-flow (обновление доступа)

При логине выдаём короткий access и долгий refresh
По истечении access клиент шлёт refresh на /refresh → сервер верифицирует и выдаёт новый access (и опционально новый refresh)
Храните refresh на сервере (БД/Redis), используйте rotation

Как отзывать JWT

Чёрный список (blacklist) с TTL в Redis по jti/sid
Короткий access + удаление refresh при логауте
Версионирование сессий (проверять sid среди активных)

Где хранить токены

AccessHttpOnly cookie или in-memory
Refreshтолько HttpOnly + Secure + SameSite=strict cookie
Избегайте localStorage (XSS).

Типовые ошибки

Нет exp (вечные токены)
Секрет «qwerty» и короткие ключи
Хранение паролей/PII в payload (он не шифруется, только Base64)
Нет валидации подписи и iss/aud
Отправка без Bearer схемы

Плюсы: stateless, быстрые проверки, удобно в микросервисах
Минусы: отзыв сложнее сессий, размер больше, важно безопасное хранение

#SECURITY
👍3🔥21
🚀 Гайд для системного аналитика: управление требованиями на этапе инициации

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

📌 Основные задачи аналитика на инициации:

1. Выявить бизнес-проблемы и цели проекта.
2. Определить всех заинтересованных сторон (стейкхолдеров) и их роли.
3. Сформулировать первичные бизнес- и функциональные требования.
4. Определить возможные варианты реализации решения.

💡 Почему это важно:

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

Вывод: фиксируйте цели, границы проекта, требования и список стейкхолдеров. Даже простые user stories на старте помогают выстроить правильный вектор работы.

#REQUIREMENTS
7
📡 Модель OSI vs. модель TCP/IP

На картинке показано сравнение двух ключевых моделей сетевого взаимодействия:

🔹 OSI (Open Systems Interconnection) — эталонная 7-уровневая модель. Она больше теоретическая и используется для объяснения принципов работы сетей. В ней каждый уровень отвечает за свою часть обработки данных: от физической передачи битов до взаимодействия приложений.

🔹 TCP/IP — практическая 4-уровневая модель, которая лежит в основе современного интернета. Она объединяет некоторые уровни OSI и описывает реальные протоколы (TCP, IP, HTTP, DNS и др.), используемые при передаче данных.

⚡️Главное отличие:

OSI помогает понять "как должно быть".
TCP/IP показывает "как это работает на практике".

👉 В итоге, мы думаем и объясняем сети через уровни OSI, а реализуем — через TCP/IP.

#INTEGRATION
5
Я до сих пор ловлю себя на мысли: как мы вообще раньше без этого жили? 🤯

Кажется, ещё вчера ИИ был где-то далеко — в научных статьях и голливудских фильмах. А сегодня он уже:
- Пишет за меня продающие тексты, с которыми не справился бы копирайтер;
- Анализирует данные и находит клиентов, которые готовы купить прямо сейчас;
- Генерирует идеи, от которых мурашки по коже — как я сам до этого не додумался?

Самое странное — что это работает уже сегодня. Не через 5 лет. Не в теории. Прямо сейчас.

Но меняться страшно. Сложно. Непонятно, с чего начать.

Поэтому для вас собрал папку с материалами от людей, которые уже прошли этот путь. Не теоретики — а практики, которые внедрили ИИ в реальные проекты. 🧠

Внутри:
- Кейсы с цифрами: «До/После» внедрения ИИ;
- Шаблоны запросов, которые дают результат с первого раза;
- Стратегии, которые не найти в открытом доступе.


Это не «очередной набор файлов». Это выглядит как шпаргалка из будущего, которое уже наступило.

Хотите заглянуть? 👇
Все здесь
🔥2
🌐 Как работает HTTP-запрос

Когда клиент (например, браузер) обращается к серверу, он отправляет HTTP-запрос (Request). Сервер обрабатывает его и возвращает HTTP-ответ (Response).

Запрос состоит из нескольких частей:

URL — адрес ресурса в сети.
Метод — указывает действие: GET, POST, PUT, DELETE и др.
Заголовки (Headers) — служебная информация (тип содержимого, язык, авторизация).
Тело (Body) — данные, которые клиент отправляет серверу (например, форма регистрации).

👉 На практике большинство повседневных действий в интернете (загрузка страницы, отправка формы, покупка в онлайн-магазине) — это и есть HTTP-запросы и ответы.

#INTEGRATION
7