Обновить
45.84

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

О создании API

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

Анализ фильмов с интернет-портала Кинопоиск

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

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

Разработка включала этапы сбора, обработки, анализа и визуализации данных. Для обработки данных применялись методы очистки от пропусков и ошибок, фильтрации по ключевым показателям и трансформации структур данных. Были реализованы функции для конвертации валют, извлечения данных о жанрах и персоналиях фильмов (актёрах и режиссёрах), а также вычисления статистических показателей полноты и однородности выборки.

Для эффективной работы системы был использован современный технологический стек. Обработка данных осуществлялась с помощью MongoDB, что обеспечило хранение и управление большими объёмами неструктурированной информации. RabbitMQ организовал асинхронный обмен сообщениями между компонентами системы, а серверная часть приложения разрабатывалась на базе Spring Boot, что ускорило процесс разработки и упростило развертывание приложения. Контейнеризация с использованием Docker обеспечила удобное развертывание и масштабирование системы. Основными языками программирования стали Java 17 и Python: Java использовалась для серверной части и микросервисов, а Python — для анализа данных и построения алгоритмов обработки информации.

Для анализа данных применялись библиотеки Pandas, Seaborn и SciPy, которые обеспечили эффективную обработку данных и визуализацию результатов. В рамках анализа строились графики, отображающие популярность жанров, исследовалась корреляция оценок на Кинопоиске и IMDb, а также визуализировалась связь между бюджетами и кассовыми сборами. Для представления результатов применялись такие инструменты, как matplotlib и seaborn, позволяя визуализировать ключевые закономерности в виде графиков и диаграмм.

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

Читать далее

Безопасность на высоте: как защищать API сегодня

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

К 2030 году количество используемых в мире API составит около 2 миллиардов. Это в 8 раз больше, чем в 2018 году. Рост числа открытых точек увеличивает количество уязвимостей, угроз и прогнозируемых атак. По оценкам экспертов, к 2026–2027 годам рост прогнозируемых атак на API составит 156% от сегодняшнего состояния.

Меня зовут Денис Кириллов, я главный архитектор решения Platform V SOWA в СберТехе. Сегодня я хотел бы рассказать о лучших практиках защиты API в современном мире. Эта тема довольно обширная, поэтому я разделил её на два материала. В первой статье рассмотрим принципы безопасности API, спецификации API и как они влияют на безопасность. Поговорим о проверке объектов на соответствие спецификации и о том, как она помогает снизить риски из списка Тор-10 API Security Risks.

Во второй статье расскажу о проблемах валидации API и совместном использовании механизмов валидации и WAF. Выясним, почему необходим отдельный компонент, который реализовывал бы функцию безопасности по отношению к API. И рассмотрим возможности продукта Platform V SOWA, который мы создали для решения этих задач.

Материал будет полезен специалистам в области информационной безопасности, сопровождения и разработки.

Читать далее

Как мы создали микросервисное приложение для анализа вакансий с hh.ru: Docker, Kafka, Elasticsearch и ещё немного магии

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

Как мы создали микросервисное приложение для анализа вакансий с hh.ru: Docker, Kafka, Elasticsearch и ещё немного магии

Читать далее

Умная кодогенерация: как AI-платформа помогает строить микросервисную архитектуру

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

Привет! Я лид backend-разработки red_mad_robot, Илья Трусов, и я создал инструмент Meroving, который помогает оптимизировать рутинные задачи, а иногда полностью их делает за разработчика. Например, монотонное написание однотипного кода или бесконечное перекладывание JSON-файлов. О том, как создавался и зачем нужен Meroving, рассказываю в статье.

Читать далее

Как спроектировать мобильное приложение маркетплейса за 7 шагов

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

Маркетплейсы занимают ключевую роль в цифровой экономике: на площадках проще покупать и продавать. На Wildberries и Ozon пришлось 78% всех заказов в российской электронной торговле за второе полугодие 2023 года, а количество заказов увеличилось до 5,1 млрд.

В этом материале мы рассмотрим основные шаги для запуска мобильного приложения своего маркетплейса. Статья охватывает разные методы разработки — от nocode-платформ до кастомных решений и гибридных подходов с использованием headless CMS. Это поможет выбрать технологии и стратегии для проекта.

Читать далее

Интеграция предобученных нейросетей в Java-проектах: практический пример

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

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

В данной статье я привожу практический пример интеграции с предобученной моделью, так рассмотрим задачу извлечения именованных сущностей (NER) — автоматического определения имен, мест или дат из текста. Мы будем использовать предобученную модель BERT, выполненную через библиотеку ONNX Runtime.

Вообще существует множество предобученных моделей для извлечения именованных сущностей (NER) и других задач NLP. Вот некоторые из них:

Читать далее

Как построить оценку качества контакт-центра с помощью Speech Analytics API

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

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

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

Читать далее

«Птица говорун» или интеграция open source LLM с XWiki

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

В предыдущей статье я давал специфические, несколько провокационные советы по работе с XWiki. Сегодня же мы обратимся к актуальным трендам. Если я не забыл выпить свои таблетки, то тема больших языковых моделей (LLM) по-прежнему вызывает большой интерес.

Представим следующую ситуацию: вы трудитесь в небольшой IT-компании, и вам поставили задачу — запустить свою «Confluence с блекджеком и нейросетями».

После недолгих поисков вы остановили свой выбор на OpenLLM — веб-API для работы с большими языковыми моделями, и XWiki — open source аналоге Confluence. Осталось лишь их подружить. И что самое приятное, для решения этой задачи, каких-то специальных навыков нам не понадобится.

Читать далее

Как узнать у клиента мнение о товарах и доставке при помощи SMS и Node JS

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

Узнать, что думает клиент о товарах после покупки, об указанных услугах, включая доставку, выявить проблемы в обслуживании — вроде бы понятная задача бизнеса. В этой статье расскажем, как под такие задачи реализовать отправку автоматических опросов по SMS с помощью Node.js и Exolve SMS API.

Читать далее

Keycloak интеграция со Spring boot

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

Данная статья является инструкцией для новичков, которые хотели бы использовать Keycloak в своих проектах на Spring в качестве безопасности.

Читать далее

Получаем персональные данные пользователей с Госуслуг: Интеграция с ЕСИА на Java

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

В эпоху цифровизации обеспечение надежной аутентификации и авторизации пользователей становится основой для безопасного доступа к различным государственным сервисам. Единая система идентификации и аутентификации (ЕСИА) предоставляет инструменты для выполнения этих задач в России. В этой статье я поделюсь опытом интеграции с ЕСИА с использованием OpenID Connect 1.0, а также предоставлю пример реализации интеграции на Java с ЕСИА для получения персональных данных пользователя. 

Читать далее

Действуем на опережение: предотвращаем скрытые угрозы с помощью статистики

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

Современные киберугрозы становятся все более сложными и изощренными, поэтому для стабильной работы организация уже не может обойтись без новейших методов защиты. Долгое время считалось, что для обеспечения безопасности веб-приложений вполне достаточно использования WAF (Web Application Firewall). Однако стремительный рост числа API и увеличивающееся количество угроз заставили пересмотреть этот подход. Многие компании столкнулись с тем, что они зачастую не имеют полного представления, какие ресурсы используются и насколько они уязвимы, вследствие чего у них недостаточно контроля над своими API.

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

Чтобы глубже понять, как работает наша новая функция, давайте разберем ключевые термины. При работе с API используются понятия эндпоинт и роут. Первое – это само обращение клиента, запускающее конкретное действие приложения. Например, GET, PATCH, DELETE. Роут же представляет собой URL, то есть имя, по которому API запускает работу эндпоинтов. Примером может служить функция авторизации, соответствующая роуту example.com/login.php. При этом, важно помнить, что один роут может запускать несколько эндпоинтов.

Читать далее

Слабоумие и отвага: как найти ликвидные облигации с доходностью до 40% и ежемесячными фиксированными выплатами

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

Что может быть привлекательнее депозита в Сбербанке под 21%? Видимо только депозит в ВТБ под 24%. А еще можно рассмотреть облигации с доходностью до 40% и ежемесячной выплатой купонов. Посмотрим, что они предлагают и какие существуют риски.

В статье будем искать такие варианты при помощи скрипта поиска ликвидных облигаций, который выложен на GitHub.

Вообще покупки высокодоходных облигаций с низким рейтингом (ВДО) на фоне роста ключевой ставки Центрального банка Российской Федерации – задача не для слабонервных. Высокие процентные ставки означают повышенный риск дефолта, особенно для эмитентов ВДО.

Ищем %

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

SMS-уведомления о снижении цен: внедряем на Wordpress с API Exolve

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

Привет, Хабр! Меня зовут Екатерина Саяпина, я Product Owner платформы МТС Exolve. Сегодня мы поговорим об одной интересной и полезной фиче — автоматических SMS-оповещениях о снижении цены на товар из вишлиста.

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

Читать далее

Раскрытие возможностей асинхронного программирования в Core Java

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


Введение


В сфере разработки современного программного обеспечения успех напрямую зависит от отзывчивости и масштабируемости. Асинхронное программирование в Core Java помогает разработчикам мощный арсенал для решения этих задач. В этом подробном посте мы погрузимся в мир асинхронного программирования в Core Java, исследуем соответствующие концепции, техники и практику применения на наглядных примерах кода.
Читать дальше →

Postman: Basic авторизация через скрипт

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

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

О чем пойдет речь?

Читать далее

Протокол SMPP: устранение неполадок и тестирование отправки SMS

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

Люди практически перестали использовать SMS для общения, но с точки зрения бизнеса это по-прежнему важный инструмент — для оповещений, авторизации, информирования о статусе заказов и во множестве других ситуаций. Сегодня рассмотрим протокол SMPP и его связь с SMS, а затем настроим свой сервер и интегрируемся с SMS API, чтобы отправить сообщение.

Читать далее

Создание блога на FastAPI с нуля: JWT, Markdown и современный веб-дизайн

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

В этой статье мы создадим полноценный мини-блог на FastAPI с нуля, используя современные технологии веб-разработки. Вы узнаете, как реализовать JWT-аутентификацию, работать с Markdown и создать привлекательный пользовательский интерфейс.

Мы рассмотрим асинхронную работу с SQLAlchemy 2, включая сложные запросы и связи ManyToMany, а также интеграцию фронтенда с использованием Jinja2.

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

Читать далее

Как получить доступ к Claude (web/api) из России в 2024?

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

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

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

Поэтому я решил создать актуальное руководство, основанное на своем личном опыте, знаниях и учитывая все подводные камни, которые могут встретить неопытного пользователя Claude.

Читать далее

10 инструментов для облегчения backend-разработки

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

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

Однако правильные инструменты способны значительно облегчить работу разработчика.

Сегодня мы познакомимся с 10 инструментами, которые сделают backend-разработку проще.

Этот список вас удивит.

<h2>1. Encore — фреймворк для backend‑разработки на TypeScript и Go, предназначенный для создания надёжных и типобезопасных приложений.</h2>

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

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

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

Encore предоставляет opensource-фреймворк для backend-разработки (на TypeScript и Go), который позволяет определять инфраструктуру в виде типобезопасных объектов прямо в вашем приложении, объединяя инфраструктуру с кодом приложения. Encore автоматически занимается предоставлением инфраструктуры и DevOps, анализируя код приложения.

Это позволяет быстро создавать готовые к продакшену backend’ы, используя такие инструменты, как микросервисы, Postgres и Pub/Sub, без излишней сложности и забот о DevOps. Дополнительно вы получаете:

Читать далее

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