2025/04 23

SAP BTP 기반 SaaS 애플리케이션으로 전환해보자

🧱 1. SaaS 아키텍처 설계💡 구조 개요┌────────────────────┐│ 고객사 사용자 │└────────┬───────────┘ ▼ ┌────────────┐ │ App Router │ ← 테넌트 라우팅 & 인증 (XSUAA 사용) └────┬───────┘ ▼┌──────────────────────┐│ SaaS Backend (API) │ ← Cloud Foundry or Kyma└────┬────────────┬────┘ ▼ ▼ DB per tenant Provisioning Service (Onboarding, Offboarding API)🔑 구성 요소구성 요소설명App RouterHTML5..

ERP 2025.04.30

SAP BTP에서 가능한 것들 (SaaS 전환 시)

💡 전제 조건 요약A 어플리케이션 구성:웹 프론트엔드백엔드 서버 (아마 REST API 기반)MariaDB 기반 데이터베이스전환 목표: SAP BTP에서 SaaS 모델(다중 테넌트)로 운영하고 싶음🔧 SAP BTP에서 가능한 것들 (SaaS 전환 시)SAP BTP는 SaaS 아키텍처를 위한 인프라, 멀티테넌시 관리, 인증/권한, 데이터 분리, 확장성 관리를 지원하는 플랫폼입니다. SaaS를 위한 핵심 역량은 다음과 같습니다:1. 멀티 테넌시(Multi-Tenancy) 아키텍처 제공테넌트별 사용자 인증/접근 권한 분리DB 스키마 또는 인스턴스 분리 지원 (예: 하나의 DB 안에서 고객사별 테이블 혹은 전용 DB 인스턴스)2. SaaS Application Router + HTML5 앱 배포고객사별 로그..

ERP 2025.04.30

SAP BTP에서 말하는 리소스 프로바이더(Resource Provider)란?

SAP BTP에서 말하는 리소스 프로바이더(Resource Provider)는 SAP BTP의 리소스를 실제로 제공하고 관리하는 기술적 주체를 의미합니다. 이는 사용자가 SAP BTP에서 애플리케이션을 실행하거나 서비스를 사용할 때 해당 리소스가 어디서 실행되는지를 결정하는 기준점입니다.🔍 정의: SAP BTP의 리소스 프로바이더란?SAP BTP Resource Provider는 다음과 같은 개념으로 이해할 수 있습니다:SAP BTP 계정(서브 계정)의 인프라 제공자 또는 실행 플랫폼을 정의하는 기술적 식별자입니다.예를 들어:Cloud Foundry 환경에서 애플리케이션을 배포한다 → 리소스 프로바이더 = Cloud FoundryKyma 환경에서 Kubernetes 기반 애플리케이션을 실행한다 → 리..

ERP 2025.04.30

SAP BTP (Business Technology Platform)란?

SAP BTP (Business Technology Platform)란?SAP Business Technology Platform (BTP)은 SAP의 통합 기술 플랫폼으로, 다양한 데이터 관리, 분석, 인공지능(AI), 머신러닝(ML), 애플리케이션 개발 및 운영을 지원하는 클라우드 기반의 솔루션입니다. SAP BTP는 기업들이 데이터를 실시간으로 분석하고, 비즈니스 인사이트를 도출하며, 기존 시스템과의 통합을 효율적으로 할 수 있도록 돕습니다.주요 구성 요소SAP BTP는 여러 가지 기술적 컴포넌트와 서비스들이 통합되어 있으며, 이를 통해 기업의 디지털 혁신을 지원합니다. 주요 요소는 다음과 같습니다:데이터베이스 및 데이터 관리SAP HANA Cloud: SAP의 고성능 데이터베이스 플랫폼으로, 클라..

ERP 2025.04.30

알고리즘 1: 슬라이딩 윈도우 (Sliding Window)

✅ 개념 요약고정 크기 또는 가변 크기의 “창(window)”을 배열 위에서 왼→오 방향으로 이동하며 처리시간복잡도 O(n)으로 반복 연산 최소화💡 문제: 가장 긴 1의 연속 구간 (최대 K번 0을 1로 바꾸기)0과 1로 이루어진 배열 nums가 주어진다. 최대 k번 0을 1로 바꿀 수 있을 때,1로만 이루어진 가장 긴 연속 부분 배열의 길이를 구하라.python Input: nums = [1,1,0,0,1,1,1,0], k = 2 Output: 7✅ 풀이 (슬라이딩 윈도우)python def longest_ones(nums, k): left = 0 max_len = 0 zero_count = 0 for right in range(len(nums)): if nums[..

알고리즘 2025.04.02

알고리즘 추천: 투 포인터 (Two Pointer)

✅ 개념 설명투 포인터는 배열을 탐색할 때 두 개의 포인터를 사용해서 효율적으로 문제를 해결하는 방식입니다.보통 정렬된 배열에서, 시간 복잡도를 줄이기 위해 사용합니다.✅ 언제 쓰나?정렬된 배열에서 두 수의 합부분 배열 / 구간합 / 슬라이딩 윈도우중복 제거 / 정렬된 리스트 병합문자열 서브패턴 찾기✅ 핵심 아이디어왼쪽 포인터 (L), 오른쪽 포인터 (R) 를 초기화조건에 따라 포인터를 이동시키며 배열을 탐색특정 조건(합, 길이 등)에 만족하면 정답 후보로 저장📘 예제 문제: 두 수의 합 (Two Sum II - Input Array Is Sorted)🧾 문제 설명정렬된 배열 numbers가 주어질 때, 두 수의 합이 target이 되는 인덱스를 반환하시오.(인덱스는 1부터 시작, 정답은 항상 존재)..

알고리즘 2025.04.02

Claude × Model Context Protocol (MCP) 연동 개발 가이드

Claude 모델이 MCP (Model Context Protocol) 클라이언트로 사용되는 상황을 전제로,FastAPI 기반 MCP-compatible 서버를 포함한 전체 구조와 샘플 코드를 Claude와 연동 가능한 형식으로 다시 정리🧠 Claude × Model Context Protocol (MCP) 연동 개발 가이드📌 핵심 요약LLM ClientClaude (Anthropic)MCP ServerFastAPI 앱 (JSON-RPC 2.0)Toolsfetch_github_issues, etc.TransportHTTP (or WebSocket)FormatJSON-RPC v2Claude는 tool.list, tool.call, resource.list 등의 메시지를 통해 외부 서버에 기능 요청을 합..

AI 2025.04.02

Model Context Protocol (MCP) Anthropic 개발 방법

**Model Context Protocol (MCP)**는 Anthropic이 주도하여 설계한 AI와 외부 시스템 간의 상호작용을 위한 오픈 프로토콜입니다. 이 프로토콜은 특히 LLM이 외부 도구·리소스와 안전하고 일관된 방식으로 상호작용할 수 있게 해줍니다.아래는 MCP 개발 배경, 구조, 작동 방식, 개발 방법 및 예시까지 자세하게 정리한 내용입니다.🧠 MCP란 무엇인가?**MCP (Model Context Protocol)**는:LLM이 외부 세계에 안전하게 연결되도록 설계된 표준 통신 프로토콜입니다.클라이언트 ↔ 서버 (LLM ↔ Tool) 구조에서 모델이 서버에게 도구 사용 요청을 보낼 수 있습니다.JSON-RPC 기반 메시지 규격을 따르며, 다양한 리소스, 툴, 프롬프트, 샘플링을 통합 관..

AI 2025.04.02

Nginx 지시자(directive) 기초 분석 예제!!

Nginx 기본 설정 파일 (nginx.conf) 예제이며, 지시자(directive)마다 한글 주석을 달아 이해하기 쉽게 구성해드렸습니다.버전은 Nginx 1.24 기준이며, 대부분의 설정은 최신 버전에서도 동일하게 작동# 전역 설정 영역 (Global Settings)user nginx; # Nginx 프로세스를 실행할 사용자 (리눅스 유저)worker_processes auto; # 워커 프로세스 수 (CPU 수에 따라 자동 설정)error_log /var/log/nginx/error.log warn; # 에러 로그 파일 경로 및 로그 수준pid /var/run/nginx.pid; # PID 파일 경로# 이벤트 ..

CICD 2025.04.02