ETag vs Cache-Control — UI5 캐시 전략 핵심 #shorts #SAP #UI5
1. 개요 및 핵심 포인트 UI5 애플리케이션을 BTP에 배포하면 사용자가 페이지를 열 때마다 sap-ui-core.js , Component-preload.js , 컨트롤 라이브러리 등 수백 KB의 정적 리소스가 네트워크로 흘러갑니다. 이 트래픽을 줄이고 초기 로딩을 1초 이하로 끌어
1. 개요 및 핵심 포인트 UI5 애플리케이션을 BTP에 배포하면 사용자가 페이지를 열 때마다 sap-ui-core.js , Component-preload.js , 컨트롤 라이브러리 등 수백 KB의 정적 리소스가 네트워크로 흘러갑니다. 이 트래픽을 줄이고 초기 로딩을 1초 이하로 끌어
개요 및 핵심 포인트 SAPUI5/OpenUI5 애플리케이션에서 라우팅은 단순한 페이지 전환을 넘어 뷰 인스턴스의 생명주기(Lifecycle) 를 직접 제어하는 핵심 메커니즘입니다. 기본적으로 UI5 라우터는 한 번 생성된 뷰를 메모리에 캐시(cache)하여 재방문 시 빠르게 보여주지만
왜 Embedded Steampunk가 등장했는가 S/4HANA Cloud Private Edition과 On-Premise 시스템에서 클린코어(Clean Core) 원칙을 강제하기 위해 도입된 개발 모델이 바로 Embedded Steampunk 입니다. 기존의 Classic ABAP은
1. 개요 및 이 글의 목표 ABAP 객체지향 설계에서 클래스 간 결합도를 낮추는 두 가지 대표적인 기법이 의존성 주입(Dependency Injection, DI) 과 서비스 로케이터(Service Locator) 패턴입니다. 두 기법 모두 "객체가 자신이 필요로 하는 의존 객체를 직
1. 개요 및 이 글의 목표 ABAP Objects의 Singleton 패턴 은 특정 클래스의 인스턴스가 단일 세션 내에서 단 하나만 존재하도록 보장하는 객체 생성 패턴입니다. 설정 관리자, 캐시, 로거, 데이터베이스 연결과 같이 시스템 전반에서 동일한 상태를 공유해야 하는 컴포넌트를
1. 개요 및 이 글의 목표 SAPUI5에서 날짜를 다루는 컨트롤은 여러 가지가 있지만, 그중에서도 sap.ui.unified.Calendar 는 단순한 입력 필드가 아닌 전체 달력 뷰 를 화면에 펼쳐 보여주는 컨트롤입니다. 예약 시스템, 휴가 신청, 일정 관리 화면처럼 사용자가 한 달
1. 개요 및 이 글에서 얻어갈 것 SAPUI5에서 날짜를 다루는 컨트롤은 여러 가지가 있지만, 화면에 항상 달력을 펼쳐 두고 사용자가 즉시 날짜를 클릭하도록 유도해야 한다면 sap.ui.unified.Calendar 가 가장 적합합니다. sap.m.DatePicker 가 입력 필드를
1. 개요 및 이 글에서 얻어갈 것 ABAP 7.40 SP02부터 도입된 DATA(...) 인라인 선언은 단순한 문법 설탕(syntactic sugar)이 아니라, ABAP 개발 스타일 자체를 바꾼 핵심 기능입니다. 변수를 사용하는 위치 에서 곧바로 선언함으로써 코드의 가독성이 향상되고
개요 및 이 글에서 다루는 것 sap.m.FeedListItem 은 SAPUI5 모바일 라이브러리에서 제공하는 피드/타임라인 전용 리스트 아이템으로, 일반 StandardListItem 으로는 표현하기 까다로운 "누가, 언제, 무엇을 말했는가"의 3요소를 한 줄에 자연스럽게 담아냅니다.
개요 및 이 글에서 다루는 것 ABAP RAP(RESTful Application Programming Model)에서 비즈니스 로직을 구현할 때 가장 자주 마주치는 함정 중 하나가 바로 FAILED와 REPORTED 테이블의 오용 입니다. 두 구조는 이름이 비슷하지만 역할이 완전히 다
개요 및 이 글에서 다루는 범위 ABAP에서 객체 참조(class reference) 간의 형 변환은 오랜 기간 ?= 연산자 또는 MOVE ... ?TO ... 구문으로 수행되어 왔습니다. ABAP 7.40 SP08 이후 도입된 CAST 연산자 는 인라인 선언과 다운캐스트를 한 줄로 처
개요 및 이 글에서 얻어갈 것 ABAP RESTful Application Programming Model(RAP)에서 Behavior Implementation 은 비즈니스 객체의 CRUD 및 액션 로직을 ABAP 클래스로 구현하는 핵심 계층입니다. 이 글에서는 BDEF(Behavio
개요와 이 글에서 다루는 범위 ABAP Test Cockpit(이하 ATC)은 ABAP 코드의 정적 분석과 품질 게이트(Quality Gate) 역할을 담당하는 SAP의 코드 검사 프레임워크입니다. 이 글에서는 ABAP Cloud(Steampunk, BTP ABAP Environment
이 글의 개요와 도달 지점 ABAP RESTful Application Programming Model(RAP)에서 Bound Action은 특정 비즈니스 객체 인스턴스에 묶여 동작하는 동작 단위입니다. 단순한 토글 버튼이라면 파라미터 없이도 충분하지만, 실무에서는 "승인하되 코드와 코
이 글에서 다루는 내용 ABAP RESTful Application Programming Model(RAP)에서 Draft Activate는 사용자가 작성 중인 데이터를 임시 저장(Draft)했다가 검증을 거쳐 정식 데이터(Active)로 전환하는 핵심 시나리오입니다. Fiori Ele
이 글에서 얻어갈 것 · 동시 편집 충돌 시나리오 정리 SAP S/4HANA Cloud 또는 ABAP Cloud 기반의 RAP(ABAP RESTful Application Programming) 환경에서 여러 사용자가 동일한 비즈니스 객체를 동시에 수정하려고 할 때 발생하는 데이터 정합
RAP 권한 모델의 두 축 — Global과 Instance RAP(RESTful Application Programming Model)에서 권한 체크는 두 단계로 분리됩니다. Global Authorization은 사용자가 해당 BO의 특정 오퍼레이션을 "원천적으로" 수행할 수 있는지
RAP Draft 메커니즘과 Discard의 의미 ABAP RAP(RESTful Application Programming Model)에서 Draft는 사용자가 작업 중인 데이터를 일시적으로 보관하는 기능입니다. RAP 런타임은 활성(active) 인스턴스와 드래프트(draft) 인스턴
IS BOUND vs IS INITIAL — 헷갈리는 두 연산자 ABAP 객체지향 코드를 작성하다 보면 참조 변수(reference variable)가 실제로 객체를 가리키고 있는지, 아니면 그 객체가 특정 클래스의 인스턴스인지를 자주 확인하게 됩니다. 이때 자주 등장하는 두 연산자가
이 글이 답하는 질문 레거시 ABAP 코드를 유지보수하다 보면 MOVE ?TO 나 ?= 연산자로 객체 참조를 다루는 패턴을 흔히 만납니다. 이런 코드는 ABAP 7.40 이후 도입된 CAST 연산자로 대체되어야 합니다. 단순한 문법 변경이 아니라 가독성, 표현식 기반 프로그래밍, 인라인