Это невероятно❗️
И так приятно видеть отзывы о нашей работе и обучении на канале наших коллег👆
#ученикиговорят
Ценим каждый отзыв🤍 Рады, что наше обучение помогает ребятам расти, как профессионалам, и достигать новых высот в сфере IT!
Да, это фишка нашей команды - бесплатный доступ к материалам курса навсегда! Изучайте и применяйте👍
Напоминаем, что сегодня еще действует промокод ANALYTIC на все тарифы курса!
Успевайте забронировать за собой лучшие цены и получить индивидуальную консультацию Глеба Учителя.
И так приятно видеть отзывы о нашей работе и обучении на канале наших коллег👆
#ученикиговорят
Ценим каждый отзыв🤍 Рады, что наше обучение помогает ребятам расти, как профессионалам, и достигать новых высот в сфере IT!
Да, это фишка нашей команды - бесплатный доступ к материалам курса навсегда! Изучайте и применяйте👍
Напоминаем, что сегодня еще действует промокод ANALYTIC на все тарифы курса!
Успевайте забронировать за собой лучшие цены и получить индивидуальную консультацию Глеба Учителя.
🔥7👍3
Интеграция была, есть и будет⚡️
Ведь именно интеграция позволяет отдать системам рутинные задачи, которые сотрудники делали еще вручную. Это ускоряет бизнес-процессы и обходится дешевле. Как говорится, ничего личного - это просто бизнес!
Конечно, основные принципы работы интеграции систем могут различаться (специфика каждой задачи, используемые технологии в компании и т.д.).
Однако, есть стандартные принципы, которые чаще всего мы видим в процессе интеграции систем и, благодаря которым, бизнесы используют/внедряют интеграции в свои процессы:
1️⃣ Гибкость. Это позволяет легко внедрять новое, изменять функциональность, не внося хаос в основную работу всех бизнес-процессов.
2️⃣ Масштабируемость. Система должна быть готова к более повышенной нагрузке, чтобы обрабатывать большие объемы информации, помогая расти бизнесу и улучшать производительность.
3️⃣ Безопасность. Это включает в себя механизмы, которые обеспечивают безопасность данных и сценариев, а также защиту от несанкционированного доступа, минимизацию возможности сбоя.
4️⃣ Управляемость. Это регулярный мониторинг работы системы и постоянное выявление/устранение ошибок
И всю эту конструкцию собирает в техническую документацию именно системный аналитик, который владеет навыками проектирования интеграций. Только потом в игру вступает разработчик. Это к тому, что многие до сих пор думают, что какие-то профессии более престижные или ценные в IT🙈
А для бизнеса важен каждый процесс. И команда эффективна, когда работает, как единый механизм, в котором нет лишней детали.
Поделитесь, на какой позиции сейчас работаете в IT или претендуете? Насколько ощущаете ценность своей работы в команде?
Ведь именно интеграция позволяет отдать системам рутинные задачи, которые сотрудники делали еще вручную. Это ускоряет бизнес-процессы и обходится дешевле. Как говорится, ничего личного - это просто бизнес!
Конечно, основные принципы работы интеграции систем могут различаться (специфика каждой задачи, используемые технологии в компании и т.д.).
Однако, есть стандартные принципы, которые чаще всего мы видим в процессе интеграции систем и, благодаря которым, бизнесы используют/внедряют интеграции в свои процессы:
1️⃣ Гибкость. Это позволяет легко внедрять новое, изменять функциональность, не внося хаос в основную работу всех бизнес-процессов.
2️⃣ Масштабируемость. Система должна быть готова к более повышенной нагрузке, чтобы обрабатывать большие объемы информации, помогая расти бизнесу и улучшать производительность.
3️⃣ Безопасность. Это включает в себя механизмы, которые обеспечивают безопасность данных и сценариев, а также защиту от несанкционированного доступа, минимизацию возможности сбоя.
4️⃣ Управляемость. Это регулярный мониторинг работы системы и постоянное выявление/устранение ошибок
И всю эту конструкцию собирает в техническую документацию именно системный аналитик, который владеет навыками проектирования интеграций. Только потом в игру вступает разработчик. Это к тому, что многие до сих пор думают, что какие-то профессии более престижные или ценные в IT🙈
Начните мыслить другими категориями: есть спрос на эту услугу и вы владеете навыками, знаниями и опытом в этой сфере лучше других - вам не будет равных.
А для бизнеса важен каждый процесс. И команда эффективна, когда работает, как единый механизм, в котором нет лишней детали.
Поделитесь, на какой позиции сейчас работаете в IT или претендуете? Насколько ощущаете ценность своей работы в команде?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Важно ваше мнение❗️Какие темы раскрыть в канале подробнее в ближайшее время (в т.ч. на эфирах)?
Anonymous Poll
47%
Документация API
59%
Брокеры сообщений
33%
Функциональные требования к системе
2%
Другое (напишите в комментариях актуальные для вас темы, которые нужно осветить подробнее)
👍8
Как GitHub перешёл с REST на GraphQL и что из этого получилось?👆
Рассказываю в аудио классный случай из практики!
Поймете, как конкретные изменения в архитектуре API могут существенно улучшить производительность и масштабируемость любого приложения🔥
🎧Слушайте подкаст @openstudyit
Рассказываю в аудио классный случай из практики!
Поймете, как конкретные изменения в архитектуре API могут существенно улучшить производительность и масштабируемость любого приложения🔥
🎧Слушайте подкаст @openstudyit
🔥9👍3
Есть интересная задача по проектированию API + ПОДАРОК для вас🎁
Выбор оптимального API для обновления данных пользователя
Представьте, вы работаете над REST API для приложения управления пользователями. Вам нужно спроектировать конечную точку (endpoint) для обновления информации о пользователе по его уникальному идентификатору (user_id).
❗️Требования:
✔️Обновление данных пользователя должно быть частичным: клиент может отправить только те поля, которые нужно изменить
✔️Необходимо придерживаться RESTful стиля и использовать правильные HTTP методы
✔️Сервер должен обрабатывать запросы безопасно и эффективно
У вас есть три варианта реализации:
1️⃣ HTTP метод: PUT
URL: /users/{user_id}
Тело запроса:
{
"name": "New Name"
}
2️⃣ HTTP метод: PATCH
URL: /users/{user_id}
Тело запроса:
{
"name": "New Name"
}
3️⃣ HTTP метод: POST
URL: /updateUser
Тело запроса:
{
"user_id": 123,
"name": "New Name"
}
Какой из вариантов является наиболее правильным с точки зрения RESTful практик для частичного обновления данных пользователя и ПОЧЕМУ?
Пишите вариант, который считаете верным, в комментариях и почему👇
Первые 5 подписчиков, кто ответит верно - получат крутой подарок от нас🎁
Выбор оптимального API для обновления данных пользователя
Представьте, вы работаете над REST API для приложения управления пользователями. Вам нужно спроектировать конечную точку (endpoint) для обновления информации о пользователе по его уникальному идентификатору (user_id).
❗️Требования:
✔️Обновление данных пользователя должно быть частичным: клиент может отправить только те поля, которые нужно изменить
✔️Необходимо придерживаться RESTful стиля и использовать правильные HTTP методы
✔️Сервер должен обрабатывать запросы безопасно и эффективно
У вас есть три варианта реализации:
1️⃣ HTTP метод: PUT
URL: /users/{user_id}
Тело запроса:
{
"name": "New Name"
}
2️⃣ HTTP метод: PATCH
URL: /users/{user_id}
Тело запроса:
{
"name": "New Name"
}
3️⃣ HTTP метод: POST
URL: /updateUser
Тело запроса:
{
"user_id": 123,
"name": "New Name"
}
Какой из вариантов является наиболее правильным с точки зрения RESTful практик для частичного обновления данных пользователя и ПОЧЕМУ?
Пишите вариант, который считаете верным, в комментариях и почему👇
Первые 5 подписчиков, кто ответит верно - получат крутой подарок от нас🎁
🔥10👍4👏2
This media is not supported in your browser
VIEW IN TELEGRAM
👍8👏1
Да, это был метод PATCH для частичного обновления🔥
Почему? (здесь найдете вопрос)👇
Метод PATCH предназначен специально для частичного обновления ресурса.
✔️Клиент может отправить только те поля, которые нужно изменить, без необходимости предоставлять полное представление ресурса.
✔️ Это соответствует требованию о частичном обновлении данных пользователя.
RESTful URL:
☑️ URL /users/{user_id} правильно идентифицирует ресурс пользователя по его уникальному идентификатору.
☑️ Это соответствует RESTful практике использования путей для обращения к ресурсам.
Часто используете этот метод в интеграции?
Почему? (здесь найдете вопрос)👇
Метод PATCH предназначен специально для частичного обновления ресурса.
✔️Клиент может отправить только те поля, которые нужно изменить, без необходимости предоставлять полное представление ресурса.
✔️ Это соответствует требованию о частичном обновлении данных пользователя.
RESTful URL:
☑️ URL /users/{user_id} правильно идентифицирует ресурс пользователя по его уникальному идентификатору.
☑️ Это соответствует RESTful практике использования путей для обращения к ресурсам.
Часто используете этот метод в интеграции?
🔥8
Patch это понятно)
А можете рассказать другое пожалуйста, почему в данной формулировке и вводных put не походит как ответ в вашем понимании?
Я на чем хочу сконцентрировать внимание:
То что вы не сказали какая метамодель у обьекта user. Если он у вас состоит из только имени и id (который передается в url). То put тут тоже работает.
Да ,действительно, если бы модель юзера состояла из больших атрибутов - то однозначный ответ в этом кейсе был бы Patch.
Я ошибаюсь?
А можете рассказать другое пожалуйста, почему в данной формулировке и вводных put не походит как ответ в вашем понимании?
Я на чем хочу сконцентрировать внимание:
То что вы не сказали какая метамодель у обьекта user. Если он у вас состоит из только имени и id (который передается в url). То put тут тоже работает.
Да ,действительно, если бы модель юзера состояла из больших атрибутов - то однозначный ответ в этом кейсе был бы Patch.
Я ошибаюсь?
🔥7👍1
Отличный вопрос - классная обратная связь от подписчика👆
Давайте разберёмся, почему в этом случае лучше использовать PATCH, а не PUT, даже если у нас у пользователя только id и name.
❗️Повторим разницу между PATCH и PUT
☑️ PUT:
Предназначен для полной замены ресурса. Ожидается, что ты отправляешь полное представление ресурса.
Если какие-то поля не указаны, они могут быть удалены или перезаписаны.
☑️ PATCH:
Предназначен для частичного обновления ресурса.
Можно отправить только те поля, которые нужно изменить.
Остальные поля остаются без изменений.
Почему в нашем случае PUT может не подходить?
1️⃣ Риск потери данных
Если используешь PUT и отправляешь только name, не указывая другие поля, сервер может подумать, что ты хочешь заменить весь ресурс новым, который содержит только name.
Остальные поля могут быть удалены или сброшены, что приведёт к потере данных.
2️⃣ Соответствие стандартам (на них всё же опираются некоторые разработчики 😁)
По стандартам HTTP PUT должен использоваться для полной замены ресурса.
Использовать PUT для частичного обновления — это нарушение этих принципов и может привести к непредсказуемому поведению.
3️⃣ Будущие изменения
Сейчас у пользователя только id и name, но позже могут добавиться другие поля (например, email, age).
Если с самого начала используешь PUT для частичного обновления, потом придётся менять логику на клиенте, чтобы отправлять все поля, иначе новые могут быть потеряны.
Пример проблемы с PUT на пальцах👇
Представьте, что сейчас такая модель пользователя:
{
"id": 123,
"name": "Alice"
}
Вы отправляете запрос:
PUT /users/123
Content-Type: application/json
{
"name": "Bob"
}
Ожидаемый результат:
Изменится только name, остальные поля останутся.
Фактический возможный результат:
Сервер заменяет ресурс новым, где только name указано.
Получаем:
{
"id": null, // или id удаляется
"name": "Bob"
}
...Поле id потеряно, что плохо.
РЕЗЮМЕ
Подписчик прав, что в очень простом случае, когда у пользователя только id и name, использование PUT может показаться нормальным.
НО❗️
С точки зрения стандартов и будущего развития вашего API, PATCH — возможно более оптимальный выбор.
Это обеспечит безопасность данных и устойчивость API к изменениям.
Согласны?
Давайте разберёмся, почему в этом случае лучше использовать PATCH, а не PUT, даже если у нас у пользователя только id и name.
❗️Повторим разницу между PATCH и PUT
☑️ PUT:
Предназначен для полной замены ресурса. Ожидается, что ты отправляешь полное представление ресурса.
Если какие-то поля не указаны, они могут быть удалены или перезаписаны.
☑️ PATCH:
Предназначен для частичного обновления ресурса.
Можно отправить только те поля, которые нужно изменить.
Остальные поля остаются без изменений.
Почему в нашем случае PUT может не подходить?
1️⃣ Риск потери данных
Если используешь PUT и отправляешь только name, не указывая другие поля, сервер может подумать, что ты хочешь заменить весь ресурс новым, который содержит только name.
Остальные поля могут быть удалены или сброшены, что приведёт к потере данных.
2️⃣ Соответствие стандартам (на них всё же опираются некоторые разработчики 😁)
По стандартам HTTP PUT должен использоваться для полной замены ресурса.
Использовать PUT для частичного обновления — это нарушение этих принципов и может привести к непредсказуемому поведению.
3️⃣ Будущие изменения
Сейчас у пользователя только id и name, но позже могут добавиться другие поля (например, email, age).
Если с самого начала используешь PUT для частичного обновления, потом придётся менять логику на клиенте, чтобы отправлять все поля, иначе новые могут быть потеряны.
Пример проблемы с PUT на пальцах👇
Представьте, что сейчас такая модель пользователя:
{
"id": 123,
"name": "Alice"
}
Вы отправляете запрос:
PUT /users/123
Content-Type: application/json
{
"name": "Bob"
}
Ожидаемый результат:
Изменится только name, остальные поля останутся.
Фактический возможный результат:
Сервер заменяет ресурс новым, где только name указано.
Получаем:
{
"id": null, // или id удаляется
"name": "Bob"
}
...Поле id потеряно, что плохо.
РЕЗЮМЕ
Подписчик прав, что в очень простом случае, когда у пользователя только id и name, использование PUT может показаться нормальным.
НО❗️
С точки зрения стандартов и будущего развития вашего API, PATCH — возможно более оптимальный выбор.
Это обеспечит безопасность данных и устойчивость API к изменениям.
Согласны?
👍27
This media is not supported in your browser
VIEW IN TELEGRAM
Визуализация - зачем интеграция API😅
Коллеги, не сдерживайтесь в комментариях))
Коллеги, не сдерживайтесь в комментариях))
2😁37👍8
— Разбираем код ошибки 422 в HTTP
— Как работать с шаблоном Circuit Breaker
— Нужно ли API Data аналитикам?
— Дилемма любого ITшника😅
☝️ Вы можете поделиться каналом — используйте эту ссылку.
Сохраняйте полезную информацию, чтобы не потерять.
Благодарности за подборку контента принимаем в виде реакций на этот пост 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
107🔥9👍4
Нужно ли тестировщикам знать API?
И как разобраться с брокерами сообщений?
Отличные вопросы прилетели в бот👆
Рассказываем обо всем по порядку🔽
☑️ Тестировщики&API
Да и еще раз ДА! Скажем больше, это не просто полезный, но и необходимый навык, особенно если вы работаете в области автоматизированного тестирования.
Ваша задача будет включать проверку того, как сервисы взаимодействуют друг с другом, как передаются данные и насколько стабильно API работает в разных условиях.
Наш курс охватывает ключевые протоколы (HTTP, TCP, HTTPS), инструменты для тестирования API (Postman, SOAP UI, cURL) и основные технологии (REST, gRPC, GraphQL и другие). Это даст вам полное представление о том, как спроектированы API и как их эффективно тестировать.
На втором фото вы видите отзыв тестировщика, которая прошла наш курс и стала выполнять более сложные задачи👆
☑️ Брокеры сообщений
На нашем курсе вы сможете не только понять, но и попрактиковаться в работе с брокерами сообщений, такими как RabbitMQ и Apache Kafka.
Курс предлагает и теоретическое знакомство с их устройством, и рассмотрение реальных паттернов асинхронного обмена сообщениями (Request-Reply, Publish-Subscribe).
Поняв эти концепции, вы будете готовы к задачам по тестированию асинхронных интеграций, что особенно важно в высоконагруженных распределённых системах.
Обожаем вопросы от вас👍
Задавайте еще)
И как разобраться с брокерами сообщений?
Отличные вопросы прилетели в бот👆
Рассказываем обо всем по порядку🔽
☑️ Тестировщики&API
Да и еще раз ДА! Скажем больше, это не просто полезный, но и необходимый навык, особенно если вы работаете в области автоматизированного тестирования.
Ваша задача будет включать проверку того, как сервисы взаимодействуют друг с другом, как передаются данные и насколько стабильно API работает в разных условиях.
Наш курс охватывает ключевые протоколы (HTTP, TCP, HTTPS), инструменты для тестирования API (Postman, SOAP UI, cURL) и основные технологии (REST, gRPC, GraphQL и другие). Это даст вам полное представление о том, как спроектированы API и как их эффективно тестировать.
На втором фото вы видите отзыв тестировщика, которая прошла наш курс и стала выполнять более сложные задачи👆
☑️ Брокеры сообщений
На нашем курсе вы сможете не только понять, но и попрактиковаться в работе с брокерами сообщений, такими как RabbitMQ и Apache Kafka.
Курс предлагает и теоретическое знакомство с их устройством, и рассмотрение реальных паттернов асинхронного обмена сообщениями (Request-Reply, Publish-Subscribe).
Поняв эти концепции, вы будете готовы к задачам по тестированию асинхронных интеграций, что особенно важно в высоконагруженных распределённых системах.
Обожаем вопросы от вас👍
Задавайте еще)
94👍7🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
93👍8
Курс для джунов? Или навыки API для более опытных ребят?
Подходит ВСЕМ - в видео пояснил, почему👆
На обучении мы двигаемся от самых основ к более сложным темам, закрепляя все практикой:
1️⃣ основы по работе интернета
2️⃣ база по API (как, зачем, и почему)
3️⃣ проектирование API (REST, SOAP, и другие стили)
4️⃣ интеграция через брокеры сообщений - RabbitMQ и Kafka
5️⃣ алгоритм проектирования (паттерны, OpenAPI, документация и т.д.)
6️⃣ создание распределенных систем (микросервисы)
7️⃣ построение карьерного трека (составление резюме, подготовка к собеседованию)
Практики много, но домашки несложные, честно😉
Вся информация донесена максимально простым языком, чтобы было понятно каждому, а не только продвинутым ребятам.
После обучения наши ученики становятся на уровень middle специалиста😎
Вдруг кто забыл) У нас есть классный БОТ, где вы можете пройти БЕСПЛАТНЫЕ УРОКИ и протестировать начинку курса сами👍
Подходит ВСЕМ - в видео пояснил, почему👆
На обучении мы двигаемся от самых основ к более сложным темам, закрепляя все практикой:
1️⃣ основы по работе интернета
2️⃣ база по API (как, зачем, и почему)
3️⃣ проектирование API (REST, SOAP, и другие стили)
4️⃣ интеграция через брокеры сообщений - RabbitMQ и Kafka
5️⃣ алгоритм проектирования (паттерны, OpenAPI, документация и т.д.)
6️⃣ создание распределенных систем (микросервисы)
7️⃣ построение карьерного трека (составление резюме, подготовка к собеседованию)
Практики много, но домашки несложные, честно😉
Вся информация донесена максимально простым языком, чтобы было понятно каждому, а не только продвинутым ребятам.
После обучения наши ученики становятся на уровень middle специалиста😎
Вдруг кто забыл) У нас есть классный БОТ, где вы можете пройти БЕСПЛАТНЫЕ УРОКИ и протестировать начинку курса сами👍
82🔥12