Базовые 6 протоколов API (описание)
1 REST (Representational State Transfer / Передача состояния представления)
↳ Бестелесный протокол API, основанный на ресурсах, использующий стандартные методы HTTP
↳ Лучше всего подходит для: операций CRUD в веб-приложениях и мобильных приложениях
↳ Риск: избыточная выборка или недостаточная выборка данных из-за фиксированных конечных точек
2 gRPC (Google Remote Procedure Call / Удаленный вызов процедур Google)
↳ Высокопроизводительный контрактный протокол, использующий двоичный формат передачи данных
↳ Лучше всего подходит для: внутренней коммуникации микросервисов
↳ Риск: ограниченная поддержка браузерами
3 GraphQL
↳ Язык запросов API, позволяющий клиентам запрашивать конкретные данные
↳ Лучше всего подходит для: приложений с акцентом на фронтенде, имеющих сложные потребности в извлечении данных и требования к быстрому отклику
↳ Риск: проблемы производительности из-за чрезмерно гибких запросов
4 SOAP (Simple Object Access Protocol / Простой протокол доступа к объектам)
↳ Протокол обмена сообщениями, использующий спецификации XML с жесткими стандартами безопасности
↳ Лучше всего подходит для: корпоративных приложений, которым необходима высокая безопасность
↳ Риск: многословность и сложность из-за спецификаций XML
5 WebSocket
↳ Двунаправленный протокол реального времени поверх постоянного соединения TCP
↳ Лучше всего подходит для: приложений реального времени, таких как чаты или обновления спортивных новостей
↳ Риск: дополнительная логика обработки состояний соединений и повторных подключений
6 MQTT (Message Queuing Telemetry Transport / Транспорт сообщений очередей телеметрии)
↳ Легковесный протокол публикации-подписки
↳ Лучше всего подходит для: устройств интернета вещей (IoT) и датчиков
↳ Риск: сложные запросы и большие объемы данных могут плохо обрабатываться
1 REST (Representational State Transfer / Передача состояния представления)
↳ Бестелесный протокол API, основанный на ресурсах, использующий стандартные методы HTTP
↳ Лучше всего подходит для: операций CRUD в веб-приложениях и мобильных приложениях
↳ Риск: избыточная выборка или недостаточная выборка данных из-за фиксированных конечных точек
2 gRPC (Google Remote Procedure Call / Удаленный вызов процедур Google)
↳ Высокопроизводительный контрактный протокол, использующий двоичный формат передачи данных
↳ Лучше всего подходит для: внутренней коммуникации микросервисов
↳ Риск: ограниченная поддержка браузерами
3 GraphQL
↳ Язык запросов API, позволяющий клиентам запрашивать конкретные данные
↳ Лучше всего подходит для: приложений с акцентом на фронтенде, имеющих сложные потребности в извлечении данных и требования к быстрому отклику
↳ Риск: проблемы производительности из-за чрезмерно гибких запросов
4 SOAP (Simple Object Access Protocol / Простой протокол доступа к объектам)
↳ Протокол обмена сообщениями, использующий спецификации XML с жесткими стандартами безопасности
↳ Лучше всего подходит для: корпоративных приложений, которым необходима высокая безопасность
↳ Риск: многословность и сложность из-за спецификаций XML
5 WebSocket
↳ Двунаправленный протокол реального времени поверх постоянного соединения TCP
↳ Лучше всего подходит для: приложений реального времени, таких как чаты или обновления спортивных новостей
↳ Риск: дополнительная логика обработки состояний соединений и повторных подключений
6 MQTT (Message Queuing Telemetry Transport / Транспорт сообщений очередей телеметрии)
↳ Легковесный протокол публикации-подписки
↳ Лучше всего подходит для: устройств интернета вещей (IoT) и датчиков
↳ Риск: сложные запросы и большие объемы данных могут плохо обрабатываться
👍24❤5🥰2
Шпаргалка по EDA vs Rest
Архитектура, управляемая событиями (Event-Driven Architecture или EDA)
• Асинхронный режим: сервисы генерируют и потребляют события.
• Лучше всего подходит для: высокой масштабируемости, слабой связанности и реагирования в реальном времени.
• Идеальные варианты использования: IoT, обнаружение мошенничества, обработка заказов, потоковая передача данных.
REST (Representational State Transfer)
• Синхронный режим: следует модели «запрос-ответ» по HTTP.
• Лучше всего подходит для: строгой согласованности, простоты и стандартных операций CRUD.
• Идеальные варианты использования: общедоступные API, порталы администраторов, доступ на основе ресурсов.
⚠️ Предостережения
• REST может испытывать трудности с требованиями в реальном времени и динамическим масштабированием.
• EDA усложняет отладку, упорядочивание и конечную согласованность.
💡 Эти архитектуры не являются взаимоисключающими.
Многие современные системы сочетают в себе:
→ REST для управления
→ EDA для работы с данными
Архитектура, управляемая событиями (Event-Driven Architecture или EDA)
• Асинхронный режим: сервисы генерируют и потребляют события.
• Лучше всего подходит для: высокой масштабируемости, слабой связанности и реагирования в реальном времени.
• Идеальные варианты использования: IoT, обнаружение мошенничества, обработка заказов, потоковая передача данных.
REST (Representational State Transfer)
• Синхронный режим: следует модели «запрос-ответ» по HTTP.
• Лучше всего подходит для: строгой согласованности, простоты и стандартных операций CRUD.
• Идеальные варианты использования: общедоступные API, порталы администраторов, доступ на основе ресурсов.
⚠️ Предостережения
• REST может испытывать трудности с требованиями в реальном времени и динамическим масштабированием.
• EDA усложняет отладку, упорядочивание и конечную согласованность.
💡 Эти архитектуры не являются взаимоисключающими.
Многие современные системы сочетают в себе:
→ REST для управления
→ EDA для работы с данными
👍3❤2
Краткий совет по Linux:
Используйте "du -h", чтобы быстро узнать размер всех файлов в текущем каталоге.
$ du -h
Флаг -h показывает размеры в удобном для восприятия формате (КБ, МБ, ГБ), поэтому вы можете легко обнаружить большие файлы и каталоги.
#linux
Используйте "du -h", чтобы быстро узнать размер всех файлов в текущем каталоге.
$ du -h
Флаг -h показывает размеры в удобном для восприятия формате (КБ, МБ, ГБ), поэтому вы можете легко обнаружить большие файлы и каталоги.
#linux
🔥6❤1👏1👌1🤨1
Сооснователь и президент OpenAI Грег Брокман недавно заявил, что пока инструменты ИИ забрали у людей лишь самую интересную часть работы, а разработчикам приходится заниматься рутиной.
«Когда-нибудь ИИ возьмёт на себя всё больше рутины, проблемных задач, вещей, которыми людям не очень нравится заниматься. Но пока ИИ лишь отобрал ту часть работы с кодом, которая приносит удовольствие», — пояснил Брокман.
По его словам, инженерам приходится заниматься «невесёлыми» вещами, в том числе отладкой и развёртыванием кода. Брокман надеется, что ИИ станет лучше в этих задачах и будет «полноценным ИИ-сотрудником», которому можно делегировать рутинную работу.
Генеральный директор GitHub Томас Домке полагает, что ИИ может даже замедлить работу опытных программистов. Топ-менеджер заметил, что, «по сути заменили то, что я могу сделать за три секунды, на то, что может занять три минуты или даже больше».
https://www.businessinsider.com/openai-cofounder-greg-brockman-vibe-coding-fun-engineering-swe-quality-2025-6?IR=T
«Когда-нибудь ИИ возьмёт на себя всё больше рутины, проблемных задач, вещей, которыми людям не очень нравится заниматься. Но пока ИИ лишь отобрал ту часть работы с кодом, которая приносит удовольствие», — пояснил Брокман.
По его словам, инженерам приходится заниматься «невесёлыми» вещами, в том числе отладкой и развёртыванием кода. Брокман надеется, что ИИ станет лучше в этих задачах и будет «полноценным ИИ-сотрудником», которому можно делегировать рутинную работу.
Генеральный директор GitHub Томас Домке полагает, что ИИ может даже замедлить работу опытных программистов. Топ-менеджер заметил, что, «по сути заменили то, что я могу сделать за три секунды, на то, что может занять три минуты или даже больше».
https://www.businessinsider.com/openai-cofounder-greg-brockman-vibe-coding-fun-engineering-swe-quality-2025-6?IR=T
Business Insider
OpenAI cofounder Greg Brockman says vibe coding has taken away some of the fun parts of being an engineer
OpenAI's cofounder said vibe coding had left human engineers to do quality control.
👍19💩8🤣3🤡2❤1🔥1👏1🤮1
Госдума РФ приняла во втором и третьем чтении законопроект, который запретит компании Apple мешать установке RuStore на свои смартфоны и планшеты. Документ принят сразу во втором и третьем чтении. Документ устанавливает новые правила для приложений, которые работают на технически сложных товарах. В частности — на смартфонах и планшетах.
С 1 сентября 2025 года компании не смогут вводить ограничения, которые мешают использовать приложения российских разработчиков и единый российский магазин RuStore. Все такие устройства, продаваемые в России, должны будут:
- разрешать установку и обновление приложений;
- позволять оплачивать приложения и услуги внутри них с помощью RuStore.
Запрещается:
- блокировка программ из сторонних источников;
- отключение функций устройств из-за сторонних программ;
- навязывание ценовой политики разработчикам;
- ограничение способов оплаты в приложениях.
https://ria.ru/20250624/gosduma-2025104934.html
Ну и также сегодня президент подписал закон о создании в России национального мессенджера. Мессенджер должен объединить госуслуги, финансы и бизнес в одном приложении. Новый сервис станет продолжением «Госуслуг» и упростит повседневные задачи и снизит риски мошенничества.
С помощью новой платформы можно будет подтверждать личность, предъявлять водительские права и студенческие билеты, пользоваться льготами. Также через приложение можно будет отправлять документы в госорганы и получать ответы.
С 1 сентября 2025 года компании не смогут вводить ограничения, которые мешают использовать приложения российских разработчиков и единый российский магазин RuStore. Все такие устройства, продаваемые в России, должны будут:
- разрешать установку и обновление приложений;
- позволять оплачивать приложения и услуги внутри них с помощью RuStore.
Запрещается:
- блокировка программ из сторонних источников;
- отключение функций устройств из-за сторонних программ;
- навязывание ценовой политики разработчикам;
- ограничение способов оплаты в приложениях.
https://ria.ru/20250624/gosduma-2025104934.html
Ну и также сегодня президент подписал закон о создании в России национального мессенджера. Мессенджер должен объединить госуслуги, финансы и бизнес в одном приложении. Новый сервис станет продолжением «Госуслуг» и упростит повседневные задачи и снизит риски мошенничества.
С помощью новой платформы можно будет подтверждать личность, предъявлять водительские права и студенческие билеты, пользоваться льготами. Также через приложение можно будет отправлять документы в госорганы и получать ответы.
РИА Новости
Госдума приняла закон о RuStore на устройствах Apple
Госдума приняла во втором и третьем чтении закон, который запретит Apple препятствовать установке на ее гаджеты единого российского магазина приложений RuStore. РИА Новости, 24.06.2025
🤡50👍18🤮3🔥2🕊2❤1👎1
В руководство по языку Go добавлены статьи про обработку ошибок:
Изоморфная обработка ошибок
https://metanit.com/go/tutorial/11.1.php
Тип error
https://metanit.com/go/tutorial/11.2.php
Оператор defer и отложенное выполнение функций
https://metanit.com/go/tutorial/2.18.php
Оператор panic
https://metanit.com/go/tutorial/11.3.php
Восстановление после ошибки и функция recover
https://metanit.com/go/tutorial/11.4.php
#go #golang
Изоморфная обработка ошибок
https://metanit.com/go/tutorial/11.1.php
Тип error
https://metanit.com/go/tutorial/11.2.php
Оператор defer и отложенное выполнение функций
https://metanit.com/go/tutorial/2.18.php
Оператор panic
https://metanit.com/go/tutorial/11.3.php
Восстановление после ошибки и функция recover
https://metanit.com/go/tutorial/11.4.php
#go #golang
👍18❤8🔥2🍌2👏1
6 структур данных для экономии места в базе данных
Фильтр Блума
Снижает стоимость поиска, проверяя, является ли элемент членом множества.
HyperLogLog (Гиперлоглог)
Оценивает количество уникальных элементов.
Cuckoo filter (Фильтр кукушки)
Проверяет, принадлежит ли элемент множеству.
Minhash (Минимальный хэш)
Находит сходство между множествами.
SkipList (Список с пропусками)
Эффективно ищет, вставляет и удаляет элементы из отсортированного списка.
Count-min sketch
Находит частоту элементов в большом потоке данных.
Фильтр Блума
Снижает стоимость поиска, проверяя, является ли элемент членом множества.
HyperLogLog (Гиперлоглог)
Оценивает количество уникальных элементов.
Cuckoo filter (Фильтр кукушки)
Проверяет, принадлежит ли элемент множеству.
Minhash (Минимальный хэш)
Находит сходство между множествами.
SkipList (Список с пропусками)
Эффективно ищет, вставляет и удаляет элементы из отсортированного списка.
Count-min sketch
Находит частоту элементов в большом потоке данных.
👍18🔥2❤1👏1🤨1
Краткий совет по Linux:
Нужно быстро создать пустой файл? Используйте следующую команду:
$ touch notes.txt
Идеально подходит для запуска файлов конфигурации, скриптов или файлов-заполнителей.
#linux
Нужно быстро создать пустой файл? Используйте следующую команду:
$ touch notes.txt
touch создает новый файл (в данном случае с именем notes.txt), если он не существует, или обновляет его временную метку, если он существует.Идеально подходит для запуска файлов конфигурации, скриптов или файлов-заполнителей.
#linux
🤯18❤5🔥3😁3👏2💊2🍌1
12 популярных алгоритмов для системного дизайна
Bloom Filter
(Блум-фильтр)
🔹 Снижает затраты на поиск
Geohash
(Геохеш)
🔹 Службы, основанные на местоположении
Hyperloglog
(Гиперлоглог)
🔹 Оценка количества уникальных элементов
Consistent Hashing
(Консистентное хеширование)
🔹 Распределение объектов данных в кластере
Merkle Tree
(Дерево Меркла)
🔹 Обнаружение несоответствий между узлами
Raft Algorithm
(Алгоритм Raft)
🔹 Алгоритм консенсуса в базах данных
Lossy Count
🔹 Эффективный подсчёт частоты элементов
QuadTree
(Квадродерево)
🔹 Службы, основанные на местоположении
Operational Transformation
(Операционное преобразование)
🔹 Используется для совместного редактирования
Leaky Bucket
(Протекающее ведро)
🔹 Используется для ограничения скорости в API
Rsync
🔹 Синхронизация файлов и папок между устройствами
Ray Casting
(Трассировка лучей)
🔹 Обнаружение столкновений, рендеринг в компьютерной графике
Bloom Filter
(Блум-фильтр)
🔹 Снижает затраты на поиск
Geohash
(Геохеш)
🔹 Службы, основанные на местоположении
Hyperloglog
(Гиперлоглог)
🔹 Оценка количества уникальных элементов
Consistent Hashing
(Консистентное хеширование)
🔹 Распределение объектов данных в кластере
Merkle Tree
(Дерево Меркла)
🔹 Обнаружение несоответствий между узлами
Raft Algorithm
(Алгоритм Raft)
🔹 Алгоритм консенсуса в базах данных
Lossy Count
🔹 Эффективный подсчёт частоты элементов
QuadTree
(Квадродерево)
🔹 Службы, основанные на местоположении
Operational Transformation
(Операционное преобразование)
🔹 Используется для совместного редактирования
Leaky Bucket
(Протекающее ведро)
🔹 Используется для ограничения скорости в API
Rsync
🔹 Синхронизация файлов и папок между устройствами
Ray Casting
(Трассировка лучей)
🔹 Обнаружение столкновений, рендеринг в компьютерной графике
🔥9