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

API *

Интерфейс программирования приложений

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

Эффективные трассировки в Go

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

Пакет runtime/trace содержит мощный инструмент для понимания программ Go и устранения неполадок. Функциональность внутри позволяет создавать трассировку исполнения каждой горутины за определенный период времени. С помощью go tool trace command (или превосходного инструмента gotraceui с открытым исходным кодом) можно визуализировать и исследовать данные в этих трассировках.

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

Читать далее
Всего голосов 17: ↑16 и ↓1+15
Комментарии0

Использование кастомных шаблонов и конфигов для swagger-typescript-api

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

swagger-typescript-api - это мощный инструмент для генерации кода на основе OpenApi-контактов, о процессе работы с которым я рассказывал в предыдущей статье. Там же я упомянул, что его можно кастомизировать под нужды конкретного проекта с помощью своих шаблонов.

Именно кастомные шаблоны и бонусом, кастомная конфигурация, будут раскрыты в текущей статье. Поехали!

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

API для хостинга: кому он потребовался и как мы его сделали

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

Привет, Хабр! На связи хостинг-провайдер SpaceWeb. В этой статье расскажем, как работает клиентский API у нас, почему для него мы выбрали технологию JSON-RPC и чем она нам так нравится. Историей делятся Виталий Киреев, руководитель R&D, и Алексей Шашкин, продакт-менеджер.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии4

Как провести фаззинг REST API с помощью RESTler. Часть 2

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

Всем привет! На связи Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. В предыдущей статье мы рассказывали о Stateful REST API-фаззинге с применением инструмента RESTler. Сегодня мы поговорим о продвинутых возможностях RESTler-а и покажем, как настроить фаззер на примере более сложного приложения. Этот материал мы подготовили вместе с Артемом Мурадяном @TOKYOBOY0701, инженером по безопасности.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

Истории

Cardoteka — техническая начинка и аналитика решений типобезопасной SP [кто любит вдаваться]

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

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

Узнать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Создаём DolbyDigital Surround аудио-плеер

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

Статья для .NET разработчиков о том как привязать сторонний стриминговый сервис к своему приложению и запустить прослушивание музыки и подкастов в формате DolbyDigital Surround 5,1.

Читать далее
Всего голосов 7: ↑5 и ↓2+3
Комментарии4

Простой CRUD на chi. Часть 1

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

Согласно официальному сайту, chi — это легковесный, идиоматический и композируемый маршрутизатор для создания HTTP-сервисов на Go. Он на 100% совместим с net/http и довольно легок в обращении, однако его документация предназначена скорее для опытных разработчиков, чем для новичков, поэтому я решил написать серию статей, в ходе которых мы будем постепенно развивать и перерабатывать простейший CRUD, написанный на chi.

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

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии8

Телеграм бот + LLM (GigaChat)

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

В данном посте я расскажу о своем опыте общения с gigachat. Меня просто утомило это американское OpenAI: vpn, проблема с пополнением и т.д. В общем, после определенного количества экспериментов с chatGPT я решил попробовать GigaChat. Во-первых это патриотично, во-вторых Сбер собрал действительно крутую команду нейронщиков, которые идут в правильном направлении, в-третьих нейро-сотрудники это сейчас топ для бизнеса основанного на консалтинге, в-четвертых Сбер дает много бесплатных токенов каждый месяц, в-пятых скорость ответа пугает даже спамеров ВКонтакте ;)) Честно говоря, Сбер самым первым из банков «поехал» на big data, что сразу дало понять о работе в сфере Ai.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии17

Формализуем процесс создания нового API в микросервисах на .NET

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

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

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

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии12

Разбираем использование open-source Wunjo AI в ваших проектах с искусственным интеллектом и просто нейронные сети

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

Привет, дорогой Хабр! Давно не общались. Сегодня мы рассмотрим проект с открытым исходным кодом, позволяющий создавать дипфейки, клонировать речь, генерировать видео, удалять текст и объекты, а также получать изображения без фона, прямо на вашем компьютере. Поговорим о Wunjo AI и его возможностях для тех, кто еще не в курсе. В начале статьи ссылки на открытый код GitHub и установочные файлы, чтобы воспользоваться готовыми сборками. А в конце статьи я добавлю видео, в котором расскажу, какие нейронные сети применяются для работы с видео или со звуком, и как эти нейронные сети устроены и работают, либо можно спросить бота в блоге и получить ответ текстом.

Почитать
Всего голосов 16: ↑15 и ↓1+14
Комментарии6

Работа с REST API при помощи swagger-typescript-api

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

Прежде чем начать писать данную статью, я озадачился интересным вопросом. А кто как вообще работает с API в 2024 году? Для меня наличие Swagger-контракта или OpenAPI-контракта уже несколько лет как must have. И откровенно говоря, мне сложно представить, что люди не используют этот фреймворк для работы c REST API. Однако, если среди читателей таковые есть, и вам до сих пор скидывают «дтоошки», то вперед осваивать и продвигать OpenApi.

Для понимания работы swagger-typescript-api я сначала кратко опишу основные моменты спецификации OpenAPI. Читатели, которые уже знакомы с этим, могут сразу перейти к части про swagger-typescript-api.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии9

Одно из самых востребованных IT-решений: простыми словами об API

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

Любой современной IT-компании так или иначе приходится работать с данными: они используются как в оптимизации показателей самой компании, так и в предоставлении услуг потребителям. Задача часто осложняется необходимостью управления и передачи больших объемов данных, поэтому организовать работу с ними помогают API.

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

Поговорим про API и разберем следующее:

Что такое API и где используется?
Почему проектам необходим именно API?
Как устроен API?
При помощи чего разрабатывают API?
Как провести сравнительный анализ технологий для разработки API?
Путь разработки и возникающие сложности
Стоит ли рассматривать API для своего проекта?

Читать далее
Всего голосов 10: ↑6 и ↓4+2
Комментарии13

Пишем REST-приложение на Delphi

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

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

Я Ануар, работаю в GlowByte и профессионально играю на нервах (шутка 😂).

К написанию статьи подвигла ситуация отсутствия в Рунете информации, как с использованием Delphi реализовать классическое трехзвенное приложение без использования фреймворков и каких-то приближенных к Microsoft технологий. Ниже следует текст немного в шутливой форме о мини-квесте «Как быстро написать распределенное многозвенное приложение на Delphi, использующее REST API». 

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

Поехали!
Всего голосов 14: ↑13 и ↓1+12
Комментарии52

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

API для своей программы (Delphi)

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

Здравствуйте


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

Что такое API?


Я позволю себе малюсенькую вырезку из вики: «Интерфейс программирования приложений (иногда интерфейс прикладного программирования) (англ. application programming interface, API [эй-пи-ай])[1] — набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах. Используется программистами для написания всевозможных приложений.»
Читать дальше →
Всего голосов 13: ↑8 и ↓5+3
Комментарии12

Класс коннектор для Диадок API на Python

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

Решил поделиться своим опытом как я собирался сделать сервис управлением ЭДО провайдерами по правилам SOLID.

Для начала я решил составить архитектуру сервиса, решил что класс управления api должен включать в себя http клиент как зависимость, так как не все могут захотеть использовать requests для выполнения запросов, еще это даст возможность переехать на асинхронную версию. Изучив документацию системы Диадок, я узнал что запросы можно выполнять как в JSON формате так и используя RPC модели. Поэтому я назвал класс DiadocJSONClient и он использует библиотеку requests для http запросов.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии4

GitHub Copilot ➜ OpenAI API прокси. Serverless

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

Демо


Демо здесь.


Зачем


GitHub Copilot доступен бесплатно для подтверждённых учащихся, преподавателей и мейнтейнеров популярных проектов с открытым исходным кодом.


Даже если вы не подходите под указанные выше критерии, стоимость платной подписки
(Individual) более доступна, чем аналогичное предложение от OpenAI.
Она стоит всего 10 долларов и при этом обеспечивает доступ к GPT-4.


Если вышеперечисленные варианты вам не подходят — попробуйте полностью бесплатную альтернативу: openai-gemini.

Для чего


GitHub Copilot чат доступен исключительно в избранных IDE.


Проект openai-github-copilot позволяет использовать его с намного более широким спектром инструментов: предоставляется общий API, совместимый с OpenAI, который можно развернуть бесплатно.
(Однако подписка на GitHub Copilot всё так же требуется.)

Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии6

SQL в качестве API

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


SQL в API??? 

Верно, вы уже успели подумать: «это же безумие, предоставлять API, который принимает SQL». Да, это ужасная идея. Особенно, если API обращён к Интернету. Делать так небезопасно, вы напрашиваетесь на атаки в виде SQL-инъекций. Поддержка такого интерфейса превратится в кошмар, а сама реализация бэкенда будет замкнута на конкретную технологию (это будет какая-нибудь база данных ANSI SQL).

Но справедливо ли такое суждение? Время его пересмотреть!
Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии40

Смена профессии и мой первый опыт в IT: путешествие в мир фронтенда с Tauri, REST и Fetch API

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

Привет, Хабр! Меня зовут Гармаев Энхэ. В течение длительного времени я работал в сфере розничной торговли, занимая должность менеджера. Это было увлекательное и насыщенное время, но, как говорится, в жизни всегда есть место переменам и новым вызовам. Сегодня я хочу поделиться с вами своим путешествием, решением о смене профессии и первом опыте работы в IT компании.

Читать далее
Всего голосов 17: ↑13 и ↓4+9
Комментарии3

Написание слоя API в приложении — это прошлый век! Встречайте универсальный прокси

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

Перестаньте писать, генерировать и переписывать API слой для каждого приложения - создайте универсальный прокси с TypeScript единый для множества приложений и обновляйте только типы при изменениях API на сервере!

Ваш API слой всегда будет оставаться минимальным в размерах и не увеличится ни на байт с увеличением количества вызываемых методов! Это обеспечит стройность вашим бандлам и добавит удовольствие пользователю от быстрой загрузки вашего сайта

Читать далее
Всего голосов 32: ↑16 и ↓160
Комментарии134

GET запросы на практике: правила, принципы и примеры

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

Я думаю, что вы не раз уже гуглили, заглядывали в статьи, манифесты IT-гигантов о лучших практиках проектирования API. Я тоже.

Но в большинстве из них всё ограничивается описанием URL ресурса, мотивацией использовать пагинацию, сложными словами про кэширование и SSL. Это, безусловно, необходимо для общего понимания технологий, но практически не помогает, когда ты сидишь перед пустой страницей и надо начать “проектировать контракт”.

Я работаю тимлидом направления системного анализа в X5Tech и за все время развития карьеры сталкивалась с большим количеством кейсов проектирования Web систем. IT продукты в большинстве очень динамичны: постоянно изменяются требования, появляются новые, итеративно улучшается пользовательский опыт (по принципу 20% усилий на 80% результата, а остальное доделаем потом).

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

В этой статье предлагаю спроектировать контракт по шагам, и на каждом из них я расскажу про общие рекомендации из копилочки “Полезное”, а также про личные правила и практики, полученные долгим опытом работы над постоянно меняющимися ИТ-продуктами, которые помогут для “дальновидного” проектирования GET REST API.

Читать далее
Всего голосов 28: ↑26 и ↓2+24
Комментарии11

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