Как стать автором
Обновить
38.52

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

О создании API

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

COBOL в XXI веке: почему банки и госслужбы не могут отказаться от языка 1959 года

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

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

Как старейший «серверный» язык справляется с XXI веком, где безопасность и гибкость важнее вечной стабильности?

Читать далее

Новости

Как я создал Text Extract API для RAG за 2 дня с помощью AI и Cursor: подробный кейс

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

Разработка с помощью AI‑инструментов меняет подход к созданию ПО. Я сам убедился в этом на практике: всего за два дня мне удалось создать Text Extract API для RAG, используя Claude 4.0, Gemini Pro 2.5 и IDE Cursor. Этот эксперимент показал, что нейросети — уже не просто хайп, а мощный ассистент, способный значительно ускорить процесс разработки.

Наша команда занимается созданием ПО для IT‑специалистов — программу Управление IT‑отделом 8. В ней есть блок для работы с заявками от клиентов и обширная база знаний. Возникла идея: интегрировать нейросети для автоматической обработки тикетов. Кейс прост:

Прилетает тикет от клиента > Нейросеть смотрит в базу знаний и готовит ответ > IT‑специалист либо использует ответ нейросети, либо нейросеть отвечает автоматически.

Для реализации такого функционала необходимо обучить AI‑модель на нашей базе знаний, а это требует качественного извлечения текста из различных документов. Эта статья посвящена первому этапу этого процесса — созданию API для извлечения текстовых данных из файлов любых форматов, что критически важно для эффективной работы с Retrieval‑Augmented Generation (RAG).

Читать далее

System Design: Чек-лист для расчета нагрузки и стоимости системы на все случаи жизни

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

Этот коротки чек-лист поможет вам структурированно отвечать на вопросы по расчету нагрузки и стоимости системы на собеседовании System Design. Используйте его как пошаговый гайд, чтобы не упустить ключевые моменты.

Читать далее

Магия чисел в System Design: эти формулы спасут вас от банкротства и помогут оптимизировать вашу систему

Время на прочтение9 мин
Количество просмотров3.2K

При проектировании систем, обязательным этапом является расчет нагрузки и стоимости на вашу IT-Систему. Давайте разберемся что это за этап и почему он так важен. А также вместе посчитаем основные показатели нагрузки и договоримся о стоимости решения.

Читать далее

Как провалить собеседование по System Design: ошибки, которые допускают даже опытные разработчики

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

Собеседование по System Design — это не просто проверка технических знаний, а настоящее испытание вашего инженерного мышления. В отличие от алгоритмических задач, где есть чёткие правильные и неправильные ответы, здесь всё строится на умении анализировать, взвешивать компромиссы и предвидеть проблемы до их появления. Ирония в том, что даже опытные разработчики часто проваливают эти собеседования, потому что сосредотачиваются не на том. Они могут идеально знать, как работает Kafka или Cassandra, но если не умеют структурировать свои мысли и задавать правильные вопросы, их шансы резко падают.

Читать далее

#Радиоактивный техдолг: Почему мы потеряли инженера-архитектора и как вернуть его в эпоху тикетов

Время на прочтение13 мин
Количество просмотров2.3K

DevOps съел архитектора? Как тикеты убили системное мышление

Вы узнаете:
🔻 Почему техдолг - не баг, а финансовый дериватив (модель ΔProfit = -€14.3M)
🔻 3 реальных коллапса: AWS S3, Facebook DNS, Cloudflare BGP - и что их объединяет
🔻 Как техлиду внедрить архитектурный фаервол без ссор с продактом (практика Netflix/Google)
🔻 Почему "карта глубины" важнее KPI релизов (и где взять 15% времени на рефакторинг)

"Когда стоимость ошибки падает - исчезает инженер. Но щелчок предохранителя всегда громче, чем тикет"

Читать далее

Асинхронная обработка ошибок – это сложно. Пример на CUDA

Время на прочтение10 мин
Количество просмотров903

Или как я научился не беспокоиться из-за cudaGetLastError() и просто признал её нежелательной


Любому, кто сталкивался с проектированием API, приходилось мучиться над вопросом, как лучше всего распространять ошибки к вызывателям функций. Эта проблема появилась ещё раньше, чем термин «API». Даже несколько десятилетий назад (скажем, 30+) проектировщики интерфейсов умели отделять возвращаемые ошибки от прочей полезной нагрузки в рамках тех функций, которые доставляют эту информацию вызвавшему их узлу.
Читать дальше →

Автоматизация рутины в Postman (часть 1): 10 pre-request скриптов, которые мне упростили жизнь

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров8.2K

Если вы ежедневно работаете с API-тестированием и используете Postman, то наверняка сталкиваетесь с повторяющимися задачами: ручное получение и обновление токенов авторизации, изменение параметров запросов для разных сред разработки, копирование данных из ответов для использования в следующих запросах. Эта рутина отнимает время и силы, а также увеличивает вероятность ошибок. Что если большую часть этих действий можно автоматизировать?

В этой серии из двух статей мы пошагово разберем 10 самых полезных pre-request и 10 post-request скриптов, которые, по моему опыту, являются наиболее востребованными при тестировании API, особенно для начинающих QA инженеров. В этой и следующей статьях выполнено ранжирование этих скриптов по их важности и частоте использования, чтобы вы могли сразу осваивать и применять на практике самые необходимые из них. Каждый из 20 скриптов будет сопровождаться простым, понятным примером кода на JavaScript, готовым к применению, а также примерами из практики.

Читать далее

System Design: Как бизнес влияет на финальный вид ИТ-Системы и выбор технологий

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

В System Design нет «правильных» решений — только компромиссы. Бюджет, сроки, команда и законы диктуют, какие технологии выбрать, как масштабироваться и когда идти на жертвы. Разберём, почему определение бизнес-ограничений это важный этап System Design и почему они диктуют Айтишникам как и с чем работать.

Читать далее

Wiki-хак для SEO: находим брошенные домены и передаём их силу вашему сайту

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров3.4K

В этой статье:

Расскажу, как работает метод перелива веса с Wikipedia через редирект.

Разберу готовый Python-скрипт для автоматического поиска таких доменов.

Дам рекомендации по дальнейшей работе с найденными доменами.

Читать далее

System Design: Чек-лист по сбору и фиксации требований на все случае жизни

Время на прочтение6 мин
Количество просмотров7.8K

Если на собеседовании по System Design не уделить внимание требованиям, это почти гарантированно приведёт к провалу — даже если ваше техническое решение идеально. Игнорирование требований — главная причина провала на собеседовании. Уделите этому 5-10 минут, и ваше решение сразу станет в разы сильнее. Расскажем, как собрать и зафиксировать требования чтобы повысить свои шансы при прохождении собеседования в IT-компанию.

Читать далее

ERROR на my.telegram.org: 99% гайд по его обходу для создания Telegram App

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

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

Поэтому решил собрать здесь всё, что узнал — чтобы и у тех, кто столкнется с этим, процесс прошёл безболезненнее и самому через следующие 7 лет обратиться к рабочему (на данный момент😃) способу и понять, изменилось ли что-то.

Для каждого пункта выведена рабочая рекомендация

Читать далее

Переоценка API-стратегий: почему компании мигрируют с GraphQL на REST

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

В быстро меняющемся мире веб-разработки постоянно появляются новые технологии и подходы к созданию системы обмена данными между приложением или сервисом. Одной из таких технологий, позволяющей запрашивать только необходимые данные, является GraphQL. Меня зовут Дмитрий и я python-разработчик. В этом материале я дам сравнительный обзор на REST и GraphQL.

Один из наиболее популярных примеров использования GraphQL — это применение в социальных сетях, где множество пользователей связаны между собой определёнными отношениями. К GraphQL мы прибегаем, когда нам требуется избирательно получить много данных о них. Такая организация пользователей имеет сетевую модель и представляется в виде графа, отсюда и связь с названием GraphQL (Graph — граф, QL — язык запросов).

Итак, почему компании, однажды выбравшие GraphQL, решают изменить свой курс и вернуться к стандартному способу реализации систем? Ответ на этот вопрос лежит на пересечении технических возможностей, бизнес-потребностей и экономических соображений. Давайте разберёмся в этом подробнее.

Читать далее

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

SOAP, WSDL и немножко Python создаём веб-сервис шаг за шагом

Уровень сложностиПростой
Время на прочтение24 мин
Количество просмотров3.9K

Практика — лучший способ глубокого понимания теории. Рассмотрим на примере, как работают веб-сервисы с протоколом SOAP, для чего нужен WSDL и как он связан с XML-документом в теле POST-запроса.

Читать далее

Как мы с помощью FreeSwitch сделали IP-телефонию по принципу Lego и с ассистентами вместо человечков

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

Привет, Хабр! Меня зовут Илья Волынкин, я CTO платформы МТС Exolve. Когда мы говорим про VoIP-телефонию, первая ассоциация — Asterisk. Это open-source ПО захватило рынок и его аналоги не так популярны. На True Tech Day я рассказал про наш опыт с FreeSwitch — инструментом, решающим гораздо более масштабные задачи. 

Благодаря ему мы смогли построить платформу, которая позволяет реализовывать сложные сценарии, добавлять разные модули (например, с AI под капотом), и собирать себе системы телефонии по принципу Lego. Под катом: рассказ про то, как сейчас усложнилась инфраструктура для звонков, какие есть варианты реализации VoIP и как это может развиться в будущем. 

Читать далее

Мой опыт обучения на курсе «Python-разработчик» от Яндекс.Практикум

Время на прочтение7 мин
Количество просмотров18K

Краткий разбор моего опыта обучения на Яндекс.Практикуме и как я решил поменять свою жизнь и выбрать другую дорогу личностного и профессионального развития.

Подробнее

Практический гайд по авторизации и аутентификации в микросервисах с Ory и Apache APISIX

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров3.1K

Мне кажется, что уже есть сотни разных статей на эту тему, но каждый раз мне чего-то не хватало. Поэтому я решил написать свою статью, в которой покажу, как я реализую авторизацию и аутентификацию в своих проектах. Это именно гайд: вы можете взять готовый код и адаптировать его под свои нужды. В рамках статьи будут использоваться Ory Hydra и Ory Kratos, Apache APISIX в качестве API Gateway и несколько микросервисов на Golang. Всё это будет работать в Docker, чтобы вы могли легко запустить и поиграться.

Читать далее

Разработка веб-сервисов: контракт, интеграция, реализация

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

Так почему же Contract First оказался не так хорош на практике?

Это связано с тем, что в теории Contract First не учитывает необходимость постоянных доработок контракта и коммуникации между командами. Основная проблема кроется не в инструментах, а в процессах разработки API: если они выстроены плохо, коммуникация нарушается. Именно процессы — а не недостаток компетенций или инструментов — являются источником проблем.

Читать далее

Интеграция с amoCRM на примере Telegram-бота

Время на прочтение12 мин
Количество просмотров1.1K

В этой статье мы расскажем, как создать собственного Telegram-бота, который интегрируется с amoCRM и распределяет уведомления о событиях в CRM, в зависимости от ролей пользователей. Система позволяет сотрудникам получать уведомления в том формате, который соответствует их обязанностям: отдел продаж видит сумму сделки и стадию, администраторы получают подробную информацию, а обычные пользователи – краткое сообщение о новой сделке. Такой подход способствует сокращению времени реакции на новые лиды, упрощает контроль за сделками и снижает необходимость постоянного ручного мониторинга CRM-системы.

Наш пример будет состоять из двух приложений. Базы данных PostgreSQL и скрипта бота.

Читать далее

Работа с OpenAPI в Go

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров3.8K

Хорошо спроектированные и качественно документированные API — это удовольствие в работе.

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

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

Вклад авторов