Обновить
24.75

Проектирование API *

О создании API

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

Гайд-лонгрид: Как правильно читать User-Agent

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.2K

Всем привет! 👋

Запускаю серию постов по техничке антифрода — для подписчиков и всех, кто копает в сторону фрода

Разберём ежедневку: User-Agent, куки, хедеры, отпечатки устройств, IP и другие “невидимые” детали, которые отличают честных юзеров от мошенников

Начнём с базового, но ключевого — User-Agent. Покажу, что это и как его едят

Что такое User-Agent и зачем он нужен

User-Agent (UA) — это текстовая строка, которую браузер автоматически отправляет серверу при каждом запросе. Это как "визитка" браузера: сервер смотрит на неё и понимает, с какого устройства и браузера зашёл пользователь

Зачем это антифроду: — Мошенники часто подделывают UA, чтобы притвориться обычным пользователем с мобилки, когда на самом деле сидят с ПК через эмулятор — Если UA меняется между сессиями у одного пользователя — это красный флаг — Несовместимые комбинации (например, Windows + iPhone Safari) выдают фрод

Структура User-Agent: разбираем по кусочкам

Берём реальный пример:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36

Выглядит страшно, но на самом деле тут всего 5 частей. Разберём каждую из них

Часть 1: Mozilla/5.0

Это исторический префикс, который есть у всех современных браузеров — Chrome, Edge, Firefox, Safari, Opera и т.д.

В 90-х годах браузер Netscape назывался "Mozilla", и сайты проверяли эту строку, чтобы понять, что это современный браузер. Когда появились другие браузеры, они тоже начали писать "Mozilla/5.0", чтобы сайты их не отсекали как старые

Читать далее

Новости

Как построить карту вызовов REST-API из JSON с помощью PlantUML: автоматизация архитектурных зависимостей

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели5.7K

Проблема: никто не знает, кто кого вызывает

В 2012 году биржевой брокер Knight Capital потерял $460 миллионов за 45 минут.
Причина — активация устаревшего модуля, который начал массово размещать ордера.
Отчёт SEC указал на ключевую ошибку:

Читать далее

Как не отвлекаясь делать свою задачуМой личный опыт

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

Привет всем! И Это я мне 16 лет создал свой продукт FocusMind, который не отвлекаясь делал целый месяц сам. Это секрет успеха в создание моего проекта!

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

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

Совет от меня. Это личный опыт!...

Стать лучше чем вчера

Слоистая архитектура для людей

Уровень сложностиСложный
Время на прочтение18 мин
Охват и читатели11K

Для кого статья: для техлидов и системных аналитиков (SA), архитекторов ПО.
О чём статья: об использовании некоторых удобных, современных подходов к проектированию ПО на стеке Java-Spring в enterprise в условиях большого количества команд и большой неопределенности. 
Об авторе: лид стрима в облачном провайдере, в 2024-2025 гг. с коллегами разрабатывавший подходы к архитектуре микросервисов.

В условиях современной разработки, когда компании растут, а команды распределены по офисам и странам, классические подходы к проектированию часто становятся узким местом. Хаос в интеграциях, бесконечные согласования форматов данных и конфликты из-за изменений в API — это знакомые боли для многих архитекторов и тимлидов. Если вы тоже сталкивались с трудностями и конфликтами при разработке платформ с множеством микросервисов или хотите разрабатывать и не хотите сталкиваться – эта статья будет наверняка интересна.

Читать далее

GraphQL и Go — gqlgen после года в проде: опыт, советы и выводы

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

Привет! На связи Петр Коробейников, я лидирую разработку бэкенда в одной из ключевых финтех-команд и отвечаю за то, чтобы пользователи приложения «Мой МТС» всегда видели актуальные данные своего счета. Если коротко, у нас в проекте Go на бэке, а для общения с приложением GraphQL — выбор продиктован платформой, и мы фактически предоставляем сабграф, к которому и обращается наша часть приложения.

В этой заметке я не буду сравнивать протоколы, холиварить на тему REST vs gRPC vs GraphQL или давать пошаговую инструкцию по GraphQL. Поделюсь опытом применения gqlgen в реальном проекте, а еще подсвечу, что сделал бы иначе полтора года назад (спойлер: не так уж и много).

Читать далее

Бесплатные AI-модели от Alibaba: 1M токенов на каждую модель Qwen через Сингапур

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели20K

Alibaba Cloud Model Studio (Сингапурский регион) даёт бесплатную квоту новым пользователям: 1 000 000 токенов на каждую модель. Не на аккаунт, а именно на каждую модель отдельно. То есть вы получаете по миллиону на Qwen-Max, Qwen-Plus, Qwen-Flash, Qwen3-Coder-Plus и так далее — параллельно.

Квота действует 90 дней с момента активации.

Что доступно

Полная линейка Qwen3:

Qwen-Max — флагман, сложные multi-step задачи, контекст 32K

Qwen-Plus — баланс качества и скорости, контекст до 1M токенов

Qwen-Flash — быстрая и дешёвая, тоже до 1M контекста

Qwen3-Coder-Plus/Flash — специализированные для кода, контекст до 1M

Qwen-VL — мультимодальные (текст + изображения)

Qwen-OCR — извлечение текста из изображений, поддержка русского

Qwen-Omni — аудио, видео, мультимодальность

Плюс открытые модели (qwen3-235b-a22b и другие) тоже доступны через API с квотой.

Читать далее

Я почувствовал себя клоуном, подключая 5 библиотек ради устойчивого API-клиента

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели6.9K

Если ваш API-клиент выглядит как башня декораторов — вы уже в зоне инженерной боли. Рассказываю, как я из этого выбрался.

Читать далее

MongoDB, Clerk и Nginx-прокси: строим горизонтально масштабируемую архитектуру почти бесплатно

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

Что делать, если после статьи на Хабре количество пользователей выросло вдвое (даже если их стало всего десять)? В этой статье я пройду путь от "крепкого" монолита до взрослой архитектуры с разделением на API, Web и Auth. Поделюсь опытом создания изолированного тестового контура и разберу, почему модная связка Bun + Vercel на реальном продакшене может стоить вам нескольких седых волос и часов дебага.

Заглянуть под капот

«Цифровой профиль онлайн» жив, даже после отключения REST API и полного перехода на СМЭВ

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

Меня зовут Никита, я ведущий инженер‑программист финансового маркетплейса «Выберу.ру». Этой статьей я хочу предотвратить распространение мифа о том, что Цифровой профиль переходит в офлайн-режим взаимодействия из-за перехода с REST API на СМЭВ.

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

Основная мысль статьи в том, что нет никакой офлайн-версии Цифрового профиля в процессе удаленной выдачи займа.

Выбрать "красную таблетку"

State-first архитектура: поиск другого способа управления бизнес-логикой

Уровень сложностиСложный
Время на прочтение10 мин
Охват и читатели4.9K

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

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

Типичный сценарий: бизнес приходит с задачей "Если в корзине три товара категории "Электроника", положи в подарок чехол, но только если регион доставки не "Дальний Восток". Звучит как if-else на пять строк. Но в распределённой системе это превращается в такой себе квест: BasketService синхронно обращается к Catalog, затем к Warehouse, затем к GeoService. Где-то посередине случается таймаут, где-то - сетевой сбой, и в коде начинают появляться саги, компенсации и ретраи.

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

Я приглашаю сегодня взглянуть на проблему под другим углом. Что если пересмотреть не инструменты, а саму парадигму управления состоянием?

Читать далее

Cложные запросы через паттерн Repository. Large Repository

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.5K

После негодования по поводу реализации паттерна Repository в обучающих материалах, а именно скудность функционала, я решил, что нужно расширяться и это привело к тому, что появился ORM Query Builder, о котором подробно расскажет вам эта статья.

Читать далее

Паттерны кеширования: от Cache-Aside до Write-Behind. Как выбрать стратегию для своего сервиса

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели8.5K

Кеш — это не просто «быстрая память». То, как ваше приложение взаимодействует с кешем, определяет согласованность данных, сложность кода и отказоустойчивость. Выбор паттерна зависит от сценариев нагрузки: read-heavy, write-heavy или mixed.

Читать далее

Moltbook: архитектурный разбор социального поведения LLM-агентов

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели7.9K

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

Читать далее

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

Вебхуки для бизнеса: как мы делали пуши о движении денег на счетах

Время на прочтение6 мин
Охват и читатели4.9K

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

Меня зовут Никита Бугуев — я бэкенд‑разработчик на Python в команде, которая разрабатывает открытое банковское API и пытается захватить контроль над всеми интеграциями наружу. В статье расскажу, как мы написали свои велосипеды для вебхуков и какие грабли собрали по пути.

Читать далее

Книга «Go: разработка приложений в микросервисной архитектуре с нуля»

Время на прочтение3 мин
Охват и читатели9.5K

Привет, Хабр.

Хотим вам рассказать об одной из первых наших новинок 2026 года, которую с тем же успехом можно считать и вторым изданием, и переизданием отлично зарекомендовавшей себя книги о микросервисах. Речь под катом пойдёт о книге Юлии Поповой «Go: разработка приложений в микросервисной архитектуре с нуля».

И даже до выхода у этой книги уже есть история.

Читать далее

[Laravel-Telegram] Пример сервиса на Laravel для авторизации пользователя через Telegram в mini-app

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.4K

Авторизация пользователя в Telegram mini-app сейчас как никогда важна. Но что если вам необходимо сделать это в вашей сервисной/микросервисной архитектуре с отправкой смс-кода?

Читать далее

«Области тьмы» ИТ: платформы управления данными

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели5.4K

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

Читать далее

MCP (КОМПАС-3D + LLM): превращаем САПР в среду для AI-агентов с помощью Python и COM API

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели15K

Есть рутина, которую вы мечтаете автоматизировать? Или идеи, чего не хватает в повседневной работе? Напишите в комментариях или мне на почту (она в конце поста). Буду рад любым предложениям: что добавить, что упростить, а что вообще переделать.

Нейросети научились писать код, но до недавнего времени оставались беспомощными в реальном мире софта. Протокол MCP (Model Context Protocol) убрал эту стену, дав моделям прямой доступ к инструментам. И если для веба коннекторы появились сразу, то инженерный софт незаслуженно забыли. Я решил это исправить и дал нейросети прямой доступ к API КОМПАС-3D.

Читать далее

Webhooks и другие способы общения серверов

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

Где-то между 2006 и 2008 годами в головах нескольких людей, которые слишком много думали про HTTP и REST, родилась не самая очевидная мысль: а что, если вместо того, чтобы каждые N секунд дёргать чужой API и спрашивать «ну что там у вас новенького?», заставить этот самый API самому постучаться к нам, когда ему действительно есть что сказать?

Сейчас это звучит как база, почти как «а давайте вместо FTP будем использовать git», но тогда это было довольно радикальным сдвигом парадигмы. От pull к push. От клиента-инициатора к серверу-инициатору.

Читать далее

Bank-in-a-Box: как собрать реалистичную песочницу для мультибанкового API‑хакатона

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели5.7K

Привет, Хабр!

Типичная картина ИТ-хакатона: команды тратят время не на продукт, а на борьбу с инфраструктурой. Документация есть, API есть – а собрать реальный сценарий нельзя: балансы не сходятся, переводы не оставляют следов, ответы статичные или ошибочные.

На пятом юбилейном API-хакатоне мы решили сделать иначе – собрать песочницу, которая ведёт себя как настоящий банк. Даже не один, а содружество трёх банков с клиентами, продуктами и межбанковскими сценариями. В результате появились реальные мультибанковские прототипы и ~1.5 млн вызовов API за месяц.

Меня зовут Александр Галкин, я занимаюсь открытым банкингом и открытыми API. В статье расскажу, как за несколько выходных собрать такую инфраструктуру, какие компромиссы неизбежны, почему на стенд обрушились массовые атаки, и как ИИ-ассистенты меняют сами хакатоны.

Читать далее
1
23 ...