Обновить
45.32

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

О создании API

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

Заработала система «Антифрод»: мошенники больше не позвонят

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

В декабре 2022 года под эгидой Роскомнадзора и Главного радиочастотного центра началось внедрение системы «Антифрод», призванной блокировать мошеннические звонки на аппаратном уровне. С одной стороны, внедрение системы позволит обезопасить россиян от звонков мошенников, но тут же возникают и риски для операторов связи, которые не успеют подключиться к новой системе.

Читать далее

API от А до Я (теория и практика)

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

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

Читать далее

Ошибки, маппинг, два SA: анализируем ошибки в ответах на запросы к внешним API

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

Привет, Хабр! Меня зовут Оксана, я системный аналитик в Сравни. Сегодня хочу рассказать о том, как мы разбирались с ошибками в интеграциях по API с нашими партнерами, какие инструменты для анализа ошибок нам тут помогали. Надеюсь, статья будет полезна для системных аналитиков и всех, кто работает с внешними API, особенно если интеграций много.

Читать далее

Небольшое React приложение со своим бекендом, запускаем с одного терминала

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

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

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

Читать далее

Асинхронный API First

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

API-First — один из популярных подходов к проектированию серверных приложений. Для обеспечения этого подхода создано множество программных продуктов. Однако сложно найти продукт, который поможет реализовать этот подход для серверных приложений, использующих брокеры сообщений в качестве средства интеграции —  такие, как Apache Kafka, RabbitMQ, Apache ActiveMQ. Мы решили это исправить и представляем вам свое решение AxenAPI.

Читать далее

Взаимодействие с Midjourney с использованием Discord API • Часть I

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

В данном практическом руководстве показывается, как создать простую автоматизацию, используя команду Midjourney /imagine в качестве примера.

Для этой задачи вам понадобится учетная запись Discord с активной подпиской на Midjourney, базовый план за $10 подойдет идеально.

Следуйте этим простым шагам, чтобы получить:

Читать далее

Делаем играющего онлайн шахматного бота при помощи Lichess API

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

Возможно, некоторые или даже многие из читателей писали шахматного бота, который мог играть с пользователем. Сегодня я расскажу вам, как сделать так, чтобы наш бот был доступен на известном шахматном веб-сайте lichess.org.

Читать дальше →

Осваиваем модуляризацию: Руководство для начинающих по организации сложных программных систем

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

⚡ Tl;dr


  • Модуляризация — это метод разделения сложных систем на более мелкие удобоваримые части для лучшего управления и восприятия.
  • Она повышает эффективность, надежность и ремонтопригодность программных проектов за счет организации кода в модули.
  • Она снижает когнитивную нагрузку на разработчиков за счет уменьшения объема информации, которую им приходится обрабатывать за один раз, что облегчает понимание сложных систем и предотвращает их «выгорание».
  • Модули при разработке программного обеспечения можно рассматривать как строительные кубики, наподобие деталей «Лего».
  • Каждый модуль имеет уникальный набор общедоступных интерфейсов, структур данных или сообщений, которые служат контрактами для других разработчиков.
  • При работе с модулями важно относиться к ним как к «черным ящикам» и взаимодействовать с ними только через определенные общедоступные интерфейсы, чтобы избежать сильного связывания и повысить модульность системы.
  • Сборки используются для группировки кода в .NET, поскольку они обеспечивают более высокий уровень инкапсуляции (использование внутреннего доступа). Это позволяет разработчикам контролировать уровень доступа другого кода к членам типа и помогает защитить детали реализации типа или элемента.
  • Чтобы сделать реализацию прозрачной для тестирования, можно использовать атрибут в файле csproj и указать имя сборки тестового проекта.
Читать дальше →

REST API vs GraphQL: в чём между ними разница

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

Сегодня в среде разработчиков часто продвигают GraphQL в качестве замены REST, хотя обе технологии можно использовать одновременно. В этой статье Анастасия Иванова, технический писатель платформы МТС Exolve (входит в экосистему МТС), рассмотрит интерфейсы подробнее, чтобы понять, как выбрать подходящее решение под каждый конкретный проект. Подробности — под катом.

Читать далее

Как сделать свой сервер мобильному разработчику, если он никогда такого не делал?

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

У меня ушел один месяц на создание своего сервера. Две недели ушло на понимание функционала и сборку прототипа. Одну неделю я писал Ktor-сервер на Kotlin и визуал в приложении на Flutter. И еще одну неделю тестировал. И я хочу, чтобы вы сэкономили две недели, когда решите создать ваш бэкэнд.

Читать далее

Модификаторы классов в Dart 3.0

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

Hola Amigos! На связи Тимур Моисеев, руководитель мобильной разработки Amiga. Я кандидат технических наук, в IT уже более 20 лет, а последние 4 года создаю мобильные приложения на Flutter.

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

Читать далее

Упрощаем работу с Excel с помошью Apache POI + Jxls: готовый шаблонный код

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

В рамках нашего свежего курса «Работа с документами в Java» есть тема: «Работа с Excel с помощью Apache POI». Хочу поделиться здесь основными моментами кода этого занятия и решением проблем, с которыми пришлось столкнуться.

Пошаговое практическое руководство c преобразованием шаблона poiTemplate.xlsx в Excel документ с возможностью программной модификации страниц. Также код может послужить образцом применения паттерна стратегия.
Читать дальше →

Пишем АПИ автотесты на Python по шагам

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

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

Читать далее

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

Renga STDL: краткий обзор языка для расширения функциональности программы Renga

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

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

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

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

Читать далее

Что такое GraphQL

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

В этой статье мы узнаем, что такое GraphQL и сравним его с REST API, проведём аналогии и посмотрим на главные различия. Ну а также, естественно, посмотрим, как работает GraphQL и какие у него возможности.

Читать далее

Интегрируем Clickhouse в Zabbix

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

В прошлом материале мы рассказали, с какой проблемой столкнулись, и проанализировали четыре СУБД в поиске рабочего решения. Мы оценили преимущества и недостатки каждого отобранного варианта и остановились на ClickHouse. Несмотря на то, что готовой интеграции этой БД с Zabbix не существует, CH отлично подходил как решение под наши инженерные задачи.

БД в Zabbix

Прежде чем мы перейдем к рассказу о реализации, расскажем о специфике работы БД в Zabbix. Вся ее логика вынесена в отдельную библиотеку — zbxhistory. Она используется сервером и прокси для сохранения данных мониторинга. В классе history описывается интерфейс, который имплементируется каждой реализацией подключения к хранилищу данных.

Читать далее

Добавили бота в свой Telegram канал? Будьте готовы с ним попрощаться

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

Изучая безопасность мессенджера Telegram, меня поразила одна его "особенность" при работе с ботами - выяснилось, что при добавлении в канал бота никак нельзя ограничить его в правах на удаление подписчиков. То есть, говоря прямо, любой бот может вычистить всю аудиторию канала за считанные минуты.

Читать далее

Как использовать Cart API в Shopify

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

Недавно я писал конфигуратор в Shopify и решил поделиться тем, как добавить несколько товаров в Шопифай корзину. Прикрепляю скринкаст того, что можно сделать при помощи этого. Но применений довольно много, не только конфигуратор, например...

Читать далее

PyTriton inference server c Gradio: быстро и просто делаем демо для ML-проектов

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

Рассмотрим то как можно в одиночку быстро создать сервер и UI для ML приложения на Python с перспективой вывода в prod. Исследуем PyTriton и немного Gradio.

Читать далее

Как мы сделали настоящий хакатон. Такой, каким он должен быть

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

Привет! Меня зовут Игорь Бессчастный, я лидер Платформы API ВТБ. Мы представили рынку Платформу два с половиной года назад в рамках большой цифровой трансформации банка. Продумывая хакатон, мы хотели и привлечь внимание к интерфейсам прикладного программирования, и найти решения, учитывающие всю нужную нам специфику.

Два года назад мы запустили первый хакатон. Через год — второй. Третий — стартует 1 октября. В этой статье я и моя коллега — Камилла Куликова, архитектор платформы API ВТБ, расскажем, как мы на сей раз наконец-то сделали всё именно так, как нужно, почему мы не боимся давать очень сложные задачи, как у нас профессиональных хакатонистов иногда обходят те, от кого этого совсем не ожидали, и что получает от этого всего наш банк и рынок в целом.

Читать далее

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