Обновить
128K+

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

О создании API

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

Маленький LLM-чат на Python с Ollama и LiteLLM. Часть 1: ставим окружение и пишем первый запрос

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

Простой старт в LLM-разработке без API-ключей и облака: ставим Ollama, скачиваем модель и делаем первый вызов из Python через LiteLLM.

Читать далее

Безошибочная работа с Kafka из Node js. Часть 1 Продьюсер

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

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

Предполагается, что читатель имеет базовое представление о Kafka (раздел "Общие термины" поможет освежить информацию) и функционале библиотеки KafkaJS.

В первой части разбираются аспекты, связанные с публикацией сообщений.

Читать далее

Мечтают ли папки с заметками об отдельном бэкенде? От ресерча к MVP

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

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

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

Меня в тот момент зацепили не сами действия, а их архитектурная странность. Формально мои заметки лежали в обычной локальной папке и принадлежали мне. Практически же доступ к ним был завязан на конкретный десктопный клиент, плагины, sync и костыли. Попробуйте, например, нормально достучаться до своей локальной базы заметок с телефона или прикрутить к ней простую автоматизацию и быстро обнаружите БОЛЬ.

Именно тогда у меня появился не ответ, а вопрос: это моя частная боль или уже ставший привычным сценарий у других людей, которые уже ведут большие vault'ы в Obsidian, Logseq, Zim и других PKMS? И если проблема реальна, то чего им на самом деле не хватает — стабильной синхронизации, нормального плагина, ещё одного клиента... или отдельного серверного слоя?

Этот текст — не история в духе «смотрите, я сделал notes‑as‑a-service». Хотя соблазн подать его именно так есть, говорить об этом пока рано. Это дискавери о том, как из личной боли, ресерча и создания MVP у меня сложилась гипотеза, что части пользователей markdown‑заметок нужен не новый редактор и не мощные плагины, а бэкенд поверх уже существующей папки с заметками.

Читать далее

Как я устал от цифровой рутины и написал свою книгу про автоматизацию: Excel, Python, API (книга уже в продаже)

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

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

Но в какой‑то момент я понял, что для того чтобы всё это автоматизировать не нужна какая‑то единая сложная система. Достаточно небольших скриптов и связки трёх инструментов:

📍 Excel / Google Таблицы — как удобный интерфейс и база данных.
📍 Python — как универсальный автоматизатор.
📍 API — как пульт управления.

За годы у меня накопились десятки готовых скриптов и нестандартных решений. Я решил собрать их, систематизировать и выпустить в виде книги: «Excel, Python и API. Автоматизация данных и управление офисом, домом, финансами».

Приглашаю познакомиться с моей книгой

Почему нормализация контактных данных сложнее, чем кажется: опыт разработки движка очистки CRM-баз на Python

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

Грязные данные в CRM — это всегда дубли, ошибки в рассылках и «кривая» аналитика. В статье рассказываю, как я реализовал API для автоматической нормализации телефонов, email и имен на FastAPI, и почему простая проверка регулярками не заменяет систему оценки качества данных (QC).

Попробовать Demo API

Как делать внешние API, если сервисов слишком много

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

Когда у вас один‑два сервиса и несколько интеграций, внешний API легко держать под контролем. Но если их десятки и каждый хочет выставиться наружу, приходится придумывать свой велосипед.

Меня зовут Юрий Коберман, я технический продакт в Точка Банк. Мы в команде несколько раз меняли систему работы с API. Начинали с одной команды, которая писала всё вручную, и постепенно пришли к универсальному инструменту, с помощью которого сервисы могут выходить наружу самостоятельно без очереди и потери качества. Подробности — в этой статье.

Читать далее

Владение и локальность

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

Итак, Вы – руководитель разработки (главный инженер, архитектор и т.п.) большой системы. После здравых размышлений Вы (обосновано) выбираете для системы микросервисную архитектуру. Далее Вы (и опять обоснованно) разделяете систему на микросервисы, продумываете API, рисуете стрелочки и диаграммы и можно программировать.

Можно? Наверное, но лучше сначала рассмотреть принципы владения данными, обеспечения передачи данных потребителям, поддержки версионирования контрактов данных.

В этой статье мы рассматриваем два принципа: «Данными владеет только владелец» и «Локальность данных». Понимание принципов, понимание возможностей проектирования доступов к данным позволит Вам спроектировать устойчивые и надежные системы. 

Читать далее

Дроны над Дубаем и новостной агрегатор: Flask, MCP-сервер, AI-агент и Telegram-бот

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

28 февраля 2026 года я стоял у окна на 41-м этаже в JBR в Дубае и смотрел, как системы ПВО ОАЭ перехватывают иранские беспилотники прямо над моей головой. Полез в новости — в Google и Яндексе статья двухчасовой давности, Telegram-каналы противоречат друг другу. Когда это происходит где-то далеко, не придаёшь этому значения. Когда ты в центре событий, то хочешь знать оперативную информацию, желательно с push-уведомлениями.

Читать далее

Неофициальный Python-клиент для alphaxiv: как мы нашли скрытый API и упаковали его в пакет

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

У alphaxiv.org есть API — но найти его было непросто: публичная документация появилась совсем недавно, а до этого единственный способ разобраться в том, как он работает, — DevTools и живой трафик браузера. POST-запрос к api.alphaxiv.org/assistant/v2/chat, SSE-поток в ответе, модель aurelle-1.

На основе этого исследования мы собрали aurelle-py — Python-пакет для программного доступа к AI-ассистенту alphaxiv: задавать вопросы по arXiv-статьям, стримить ответы, встраивать в исследовательские пайплайны. Мы не первые, кто занялся этой темой, — но постарались сделать решение аккуратным и хорошо задокументированным.

Что внутри: синхронный и асинхронный клиенты, SSE-парсер с независимым юнит-тестированием, Pydantic v2 для валидации, типизированные исключения (AuthError, RateLimitError), MCP-сервер для интеграции с Claude Desktop и Claude Code.

pip install aurelle-py

В статье — как мы нашли эндпоинт, разобрали формат запроса и ответа, какие ограничения выявили опытным путём и как устроен пакет внутри.

GitHub: https://github.com/center4aai/aurelle-py

Читать далее

Как я интегрировал GigaChat API в свой проект: опыт создания AI-ассистента с голосовым управлением

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

Всем привет! Сегодня я хочу поделиться опытом создания веб-приложения на основе GigaChat API от Сбера. В проекте я использовал не только текстовый диалог с нейросетью, но и добавил голосовой ввод (распознавание речи) и озвучку ответов с помощью SaluteSpeech. Получился полноценный голосовой AI-ассистент. В этой статье я расскажу о технических деталях: как получить доступ к API, как организовать обмен сообщениями, кэшировать токены, обрабатывать ошибки и сделать удобный интерфейс.

Читать далее

Temporal: 9-летний путь к исправлению времени в JavaScript

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

Cтарший инженер-программист в организации JavaScript Infrastructure & Terminal Experience компании Bloomberg Джейсон Уильямс опубликовал пост, в котором рассказал, как он вместе с командой реализовывал библиотеку Temporal вместо Date для различных типов дат и времени. Автор выступает делегатом TC39 (группы экспертов из Ecma International, отвечающей за стандартизацию и развитие языка JavaScript) и имеет опыт стандартизации функций, реализации языка и участия в крупных проектах с открытым исходным кодом. Джейсон также является создателем движка Boa JavaScript.

Читать далее

JSON:API: Руководство по спецификации

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

JSON:API — это строго типизированная спецификация построения API на языке JSON. Её главная цель — минимизировать количество сетевых запросов и объем передаваемых данных, предоставляя при этом стандартизированный способ взаимодействия.

Читать далее

Разработка CRM для ресторана с нуля: зачем я написал бэкенд для сайта на конструкторе

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

Сайт на Тильде есть, трафик идет, но 20% заказов теряются в Telegram, а менеджеры работают вслепую. Покупать дорогую CRM или писать свой бэкенд?

Читать далее

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

Чистая архитектура — красивая сказка для собеседований

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

В процессе поиска работы я изучил множество вакансий, и в подавляющем большинстве среди обязательных требований значились знание паттернов проектирования, принципов SOLID и прочих «столпов» правильной архитектуры.

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

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

Читать далее

Дыра в безопасности в Ze-Post: как подменить личность любого пользователя в мессенджере MAX

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

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

Читать далее

Platform API в Рег.облаке: унификация протокола доступа и архитектурная база для публичных и приватных облаков

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

Привет, Хабр!
Меня зовут Игорь Шишкин, я руковожу отделом разработки облачной платформы Рег.облака. Несколько лет назад, пока облако росло, интеграционный слой между сервисами и брендами естественным образом усложнялся. Каждый новый сценарий требовал отдельного решения — и со временем стало понятно, что нужен общий подход.

В этой статье расскажу, какие решения мы приняли, от чего отказались и где сознательно не стали усложнять систему.

Читать далее

Системный аналитик в эпоху ChatGPT: эволюция или революция

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

Привет, Хабр! Меня зовут Руслан Каллагов, я системный аналитик в Лаборатории Globus — партнёре Нетологии по стажировкам на курсах ИТ-профессий. Уже 4,5 года я работаю в проектировании программного обеспечения и верю в силу синергии человеческой экспертизы и ИИ. В этой статье расскажу, как именно меняется рабочий процесс, инструментарий и зона ответственности системного аналитика под влиянием технологий вроде ChatGPT. 

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

Новая схема работы аналитика с ИИ →

Три аккаунта ChatGPT и один прокси: как перестать следить за лимитами

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

У меня три ChatGPT-аккаунта. На каждом свои лимиты, своя история, свои причины существовать. И на каждом они кончаются в самый неподходящий момент.

Переключаться вручную то ещё удовольствие. Особенно когда работаешь через Codex CLI или OpenCode и хочешь просто писать код, а не следить за тем, на каком аккаунте сейчас крутится запрос.

Именно под эту боль и написан codex-lb.

Читать далее

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

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

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

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

Разберём ежедневку: 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 мин
Охват и читатели6.3K

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

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

Читать далее