Сундучок системного аналитика
296 subscribers
44 photos
1 video
88 links
Пятнадцать человек на сундук системного аналитика и бутылка смузи.

Канал для системных аналитиков.

Сундучок с полезными инструментами, курсами и интересными материалами.

Пройти в уютный чатик ➡️ @analystlab_chat

Связь @batorsky
Download Telegram
Code First v.s. API First

The diagram below shows the differences between code-first development and API-first development. Why do we want to consider API first design?

- Microservices increase system complexity.
We have separate services to serve different functions of the system. While this kind of architecture facilitates decoupling and segregation of duty, we need to handle the various communications among services.

- Separate functional teams need to speak the same language.
The dedicated functional teams are only responsible for their own components and services. It is recommended that the organization speak the same language via API design.

- Improve software quality and developer productivity
Since we have ironed out most of the uncertainties when the project starts, the overall development process is smoother, and the software quality is greatly improved.

Alex Xu
Forwarded from System Design World (Vladimir)
🏦 System Design. База. Клеппман. You are welcome!

↗️ Сообщество канала растёт и крепнет!
Нас уже более 2000 участников - интересующихся:
System Design, Архитектурой, backend технологиями и подходами к проектированию высоконагруженных систем.

💡 Пришло время структурировать знания.
Пришло время тематического стрима по System Design - разбора знаменитой книги Мартина Клеппмана "Designing Data-Intensive Applications".
Пришло время Михаила Масягина - участника нашей недавней архитектурной каты, капитана команды.
Михаил выступил инициатором такого разбора. И вот первый стрим уже не за горами ☺️

В обсуждениях мы решили выбрать компактный 1 часовой формат стрима.

📖 Темы из доклада:
· DIA (Data-Intensive Applications)
· Три кита DIA:
+ надёжность
+ масштабируемость
+ поддерживаемость
· Описание производительности
· SLA & SLO
· System design Interview: начало

🎯 Для кого этот стрим?
· Для вас, если интересуетесь темой высоконагруженных отказоустойчивых систем
· Для вас, если хотите структурировать архитектурные знания
· Для вас, если хотите поделиться своими кейсами с прода или в разделе обсуждения раскрыть тезисы со своей стороны, дополнить общую картину
· Для вас, если хотите подготовиться к System Design интервью

🕖 Встречаемся в субботу 18.01.25 19:00 (МСК). Ссылка будет прикреплена ниже ближе к старту.
Хорошего окончания недели! 😊

Какие ещё темы хотите видеть на будущих стримах?

💯 - важная активность, поддерживаю!
Please open Telegram to view this post
VIEW IN TELEGRAM
С большой долей вероятности мы будем проектировать API для взаимодействия UI и сервиса "Заказ" (отмечено красным).

Данные о товарах в корзине будем хранить в Redis (Key-Value Store). Набросал примерную структуру данных, которые будут храниться в корзине (отмечено зеленым).

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

Черным отмечен сервис, взаимодействие с которым находится за рамками нашего задания.
🔥4
How do we design effective and safe APIs?

The diagram below shows typical API designs with a shopping cart example.

Note that API design is not just URL path design. Most of the time, we need to choose the proper resource names, identifiers, and path patterns. It is equally important to design proper HTTP header fields or to design effective rate-limiting rules within the API gateway.

Alex Xu следит за нами?
👍1🔥1
Forwarded from System Design World (Vladimir)
🏦 System Design. База. Клеппман. You are welcome! Глава 2

🛞 Набираем обороты!
Состоявшийся вебинар получил положительные отзывы и оценки. И это радует 😊 Продолжаем!
В следующую субботу в 19:00 разбираем очередную главу. Глава не простая. Пробуем разжевать 🍿

📖 Темы из доклада:
· Relational vs Document models:
+ Many-to-One & Many-to-Many
+ On-Read vs On-Write Schema
+ Диффузия моделей данных
· Imperative vs Declarative models:
+ SQL, CSS, XSL и... JavaScript
+ MapReduce
· Graph model
· Triple-Stores model
· сиренивинькаяглазовыколупывательницачтотутвообщезатерминытакиеМишаСпасай!😅

✍️ В обратной связи по прошедшему вебинару участники приводили пожелания по анонсу.
Чтобы можно было заранее понять будет ли вебинар, распланировать субботу и иметь удобную возможность поставить его в календарь.
👌 Сделал level up в организации. Создал timepad аккаунт и событие-анонс в нём.
Итак, для вашего удобства, регистрируйтесь на мероприятие в субботу(25.01.25) в 19:00 здесь:
https://vladimir-nevzorov-event.timepad.ru/event/3204617/

До скорой встречи! ☺️

Как вам далась эта глава? Что оказалось наиболее непонятным? Или, наоборот - понятным и полезным?

🔥 - супер, буду онлайн!
💯 - посмотрю в записи!
👍 - хорошая активность, поддерживаю!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍1
28 января (вт) в 18:00 МСК пройдет вебинар на тему «Что такое архитектура ИС и как ее проектировать?», на котором Анна Вичугова, Эксперт по бизнес-анализу и проектированию ИС и Кандидат наук по Системному анализу и управлению, на практических примерах расскажет про проектирование архитектуры информационных систем, связанные с этим мифы, техники и инструменты.

▫️План вебинара:
— Практический смысл архитектуры ИС
— Уровни архитектурного проектирования
— Основные факторы, влияющие на принятие архитектурных решений
— Почему фраза «все зависит от контекста» — не просто смешной мем
— Участники процессов проектирования
— Инструменты и артефакты проектирования
— Какова цена ошибки «неправильной» архитектуры
— Почему «идеального» решения не существует (в поисках компромисса)

▫️Вебинар будет полезен:
— Системным аналитикам
— Бизнес-аналитикам
— Менеджерам ИТ-проектов
— Разработчикам
— Проектировщикам информационных систем

Регистрация

Всех, кто не хочет пропустить ни одного анонса наших вебинаров, приглашаем в нашу группу @se_webinars, где мы по топикам публикуем новости, полезные материалы, записи и слайды презентаций вебинаров.
👍4❤‍🔥1
Why is Redis so 𝐟𝐚𝐬𝐭?
.
.
The diagram below shows 3 main reasons:

1️⃣ Redis is RAM-based. Access to RAM is at least 1000 times faster than access to random disks. Redis can be used as a cache to improve application responsiveness and reduce database load when used as a cache.

2️⃣ Redis implements IO multiplexing and single-threaded execution.

3️⃣ A number of efficient lower-level data structures are leveraged by Redis. By keeping these data structures in memory, serialization and deserialization costs are reduced.

SortedSet, for example, makes the implementation of leaderboards so simple and efficient. On the other hand, a bitmap can be used to aggregate month-over-month login statuses.

ByteByteGo
What is a webhook?

The diagram below shows a comparison between polling and webhook.

Assume we run an eCommerce website. The clients send orders to the order service via the API gateway, which goes to the payment service for payment transactions. The payment service then talks to an external payment service provider (PSP) to complete the transactions.

There are two ways to handle communications with the external PSP.

🔹 1. Short polling
After sending the payment request to the PSP, the payment service keeps asking the PSP about the payment status. After several rounds, the PSP finally returns with the status.

Short polling has two drawbacks:
1) Constant polling of the status requires resources from the payment service.
2) The External service communicates directly with the payment service, creating security vulnerabilities.

Продолжение под катом ➡️

ByteByteGo

#polling #webhook
Что делать, когда попал на проект без документации

#статья #хабр #документация
🔥3
Сегодня в 19:00 состоится очередная встреча, посвященная книге Криса Ричардсона "Микросервисы".

На встрече мы продолжим читать 5 главу книги - "Проектирование бизнес-логики в микросервисной ахитектуре"

Что мы будем делать?

• Подробно разбирать главу 5 книги;
• Обсуждать сложные моменты;
• Обмениваться лучшими практиками.

Как присоединиться?
➡️ Ссылка для подключения к встрече
Интересная статья вышла на Хабре:
Как превратить монолитную архитектуру в микросервисную.

Мне больше комментарии к статье понравились.
Оставлю это здесь, чтобы не потерять)

#статья #хабр #микросервисы
👍2
Сегодня в 19:00 состоится очередная встреча, посвященная книге Криса Ричардсона "Микросервисы".

На встрече мы начнем читать 6 главу книги - "Разработка бизнес-логики с порождением событий"

Что мы будем делать?

• Подробно разбирать главу 6 книги;
• Обсуждать сложные моменты;
• Обмениваться лучшими практиками.

Как присоединиться?
➡️ Ссылка для подключения к встрече

Где посмотреть запись встреч?
➡️ Запись встреч находится тут

Как узнать когда проходят встречи?
Для самых забывчивых ссылка на календарь
❤‍🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
REST
- Uses standard HTTP methods like GET, POST, PUT, DELETE for CRUD operations.
- Works well when you need simple, uniform interfaces between separate services/applications.
- Caching strategies are straightforward to implement.
- The downside is it may require multiple roundtrips to assemble related data from separate endpoints.

GraphQL
- Provides a single endpoint for clients to query for precisely the data they need.
- Clients specify the exact fields required in nested queries, and the server returns optimized payloads containing just those fields.
- Supports Mutations for modifying data and Subscriptions for real-time notifications.
- Great for aggregating data from multiple sources and works well with rapidly evolving frontend requirements.
- However, it shifts complexity to the client side and can allow abusive queries if not properly safeguarded
- Caching strategies can be more complicated than REST.

Alex Xu
🔥1
Наш новый промокод на 2025 год

Курс по проектированию интеграций и немного про архитектуру.

Чему обещают научить:
💡Выбирать стиль интеграции под вашу задачу;
💡Проектировать с нуля интеграции (REST, SOAP, gRPC и др. + брокеры сообщений);
💡Правильно собирать требования и моделировать в UML;

Разработать свой API на Python;
Вас ждет более 100 тестов;

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

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

Бонусный модуль про проектирование баз данных — нормализация, транзакции, основы DWH, индексы.
Вдруг вам надо.

Автор предлагает три варианта прохождения на выбор:

Курс без проверки заданий
Курс с проверкой заданий
Полный курс с поддержкой

К любому из курсов можно применить промокод на 1200 ₽

Как применить промокод:
1. Авторизуйся на платформе Stepik
2. Перейди по одной из ссылок выше
3. Нажми «Купить»
4. В поле «У меня есть промокод» введи BATORSKY2025

Промокод действует до 31.12.2025 г.
🔥1
Как научиться анализировать информацию, принимать решения и осознанно формировать свою точку зрения, не поддаваясь на манипуляции, пропаганду, нарушения логики и фальсификацию.

Об этом вы можете узнать на курсе Критическое мышление

На курсе вы научитесь:

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

⭐️ Аргументировать ⭐️
Находить обоснование, строить логические цепочки и видеть, где они нарушаются; проверять источники информации и проводить фактчекинг.

⭐️ Помогать другим ⭐️
Видеть ошибки собеседников, понимать природу их заблуждений и мягко убеждать в необходимости мыслить критически.

➡️ Записаться на курс

Все курсы 4brain

#курсы #обучение #развитие #навыки
This media is not supported in your browser
VIEW IN TELEGRAM
API
An API is a set of rules and protocols that allows different software applications and services to communicate with each other.

1. It defines how software components should interact.
2. Facilitates data exchange and functionality access between software components.
3. Typically consists of endpoints, requests, and responses.

SDK
An SDK is a comprehensive package of tools, libraries, sample code, and documentation that assists developers in building applications for a particular platform, framework, or hardware.

1. Offers higher-level abstractions, simplifying development for a specific platform.
2. Tailored to specific platforms or frameworks, ensuring compatibility and optimal performance on that platform.
3. Offer access to advanced features and capabilities specific to the platform, which might be otherwise challenging to implement from scratch.

The choice between APIs and SDKs depends on the development goals and requirements of the project.

Alex Xu

#api #sdk #ByteByteGo
🔥3
gRPC is a high-performance, open-source remote procedure call framework initially developed by Google. It leverages HTTP/2 for transport, Protocol Buffers as the interface description language, and provides features such as authentication, load balancing, and more.

Key Features of gRPC:

- Speed - gRPC is built on HTTP/2 and Protobufs for high throughput and low latency.

- Efficiency - The compact Protobuf binary format means smaller payloads than JSON.

- Type Safety - Protobufs are strongly typed.

- Polyglot - Write services in many popular languages.

- Great Ecosystem - Many tools for code gen, load balancing, monitoring, and more.

ByteByteGo

#api #grpc #ByteByteGo
Третья конференция Systems Design Online 🚀

Мы открываем продажи на третью конференцию, посвящённую проектированию современных информационных систем для бизнеса.

Мы стремимся развивать культуру проектирования эффективных информационных систем, делясь реальным практическим опытом, проверенными подходами и инновационными идеями. Именно поэтому главная тема конференции в этом году — «Компромиссы проектирования — баланс между атрибутами качества, финансированием и сроками».

В 2025 году конференция Systems Design Online пройдёт в два дня:

12 апреля (сб) — день докладов

13 апреля (вс) — день мастер-классов и воркшопов


Вас будут ждать:
— Более 15 докладов от опытных архитекторов, аналитиков и технических лидеров
— Два воркшопа с акцентом на практику
— 4 тематические секции: Архитектура, Интеграции, Инженерия данных и Информационная безопасность
— Неограниченный доступ к записям всех докладов конференции
— Постоянный чат в Telegram для живого общения с экспертами


Конференция Systems Design Online будет интересна:
— разработчикам и аналитикам
— архитекторам и руководителям ИТ-проектов
— всем, кто стремится повышать эффективность бизнес-процессов при помощи современных технологических решений


Стоимость билетов зависит от даты покупки:

До 15 марта:
от 3 900

После 15 марта:
— от 4 900

Билеты на воркшопы можно приобрести отдельно

Заявки на доклады этого года собираем до конца февраля и публикуем в канале и на сайте конференции.


Познакомиться поближе с докладами прошлых двух потоков SDO вы можете на нашем YouTube-канале:
— 2024 год
2021 год

Подробнее о конференции здесь

Канал конференции @systems_design_online
Domain-Driven Design: чистая архитектура снизу доверху

#статья #sbertech #ddd
🔥1