전체 글(170)
-
MVC
Model-View-Controller(MVC) 패턴은 애플리케이션의 구조를 세 가지 주요 부분으로 나누어 개발하는 소프트웨어 디자인 패턴구조적 분리를 통해 유지보수성과 확장성을 높임.각각의 구성요소는 명확한 역할을 가지고 있으며, 서로 독립적으로 동작하도록 설계.spring이 웹 애플리케이션을 개발하는데 있어 MVC패턴을 가장 효율적으로 지원 1. Model 모델은 애플리케이션의 데이터와 비즈니스 로직 담당사용자로부터 받은 데이터를 처리하거나 데이터베이스와 상호작용을 통해 데이터를 조회하고 수정하는 작업모델은 사용자의 요청에 따라 상태 변경 및 데이터 제공(ex : 사용자 정보, 상품 목록 등과 같은 애플리케이션의 데이터를 포함하는 객체들이 모델) 역할: 애플리케이션의 상태를 나타내는 데이터와 그 데이..
2025.04.09 -
Spring Web
Spring Frame Work의 한 부분 자바 기반의 오픈소스 애플리케이션 프레임워크로 엔터프라이즈급 애플리케이션을 구축하기 위한 다양한 기능 제공특히 웹 애플리케이션을 위한 여러가지 도구와 기능을 제공 1. Spring MVC (Model-View-Controller)Spring Web의 핵심이 구조는 애플리케이션을 세 가지 주요 컴포넌트인 모델, 뷰, 컨트롤러로 나누어 개발하는 패턴웹 애플리케이션에서 HTTP 요청을 처리하고 적절한 응답을 반환하는 구조 제공 Model: 애플리케이션의 데이터를 나타내며, 일반적으로 POJO(Plain Old Java Object) 객체로 구성View: 사용자에게 보여지는 화면을 담당, JSP, Tymeleaf, FreeMarker 등 다양한 템플릿 엔진을 사용Con..
2025.04.09 -
fstream
fstream 클래스는 파일 입출력 스트림을 다루는 클래스이며, 다양한 함수들이 제공되어 파일을 읽고 쓰고, 위치를 설정하는 등의 작업을 할 수 있다. fstream은 ifstream(입력용)과 ofstream(출력용)을 확장한 클래스이므로, 이들의 기능을 모두 포함한다. 1. 파일 열기 및 닫기open( ) 파일 열기std::ios::in: 읽기 모드로 파일 열기.std::ios::out: 쓰기 모드로 파일 열기.std::ios::app: 추가 모드로 파일 열기 (파일 끝에 데이터 추가).std::ios::ate: 파일 끝으로 이동하여 데이터를 추가하거나 수정.std::ios::trunc: 파일을 열 때 기존 내용을 삭제하고 새로 작성.file.open("filename", std::ios::in | ..
2025.03.31 -
참조자(Reference)
참조자(Reference)1. 선언과 동시에 초기화int &r; // 불가능 (초기화 필요)int x = 5;int &r = x; // 가능2. 한 번 참조한 변수만 가리킬 수 있음 (재할당 불가)int a = 10, b = 20;int &ref = a;ref = b; // ref가 b를 참조하는 것이 아니라, a의 값을 b로 변경함3. NULL을 가리킬 수 없음 int &r = NULL; // 불가능
2025.03.27 -
union
메모리 사용을 최적화할 때.여러 방식으로 데이터를 처리가 필요할 때.상호 변환 가능한 값들이 있을 때. 예를 들어, 동일한 숫자나 값들을 다른 형식으로 나타내야 할 때 union을 사용.union Color { struct { uint8_t red; uint8_t green; uint8_t blue; }; uint32_t hexColor; // 32비트로 색상 표현}; RGB 값을 개별적으로 접근하려면 red, green, blue를 사용.전체 색상 값을 한 번에 접근하려면 hexColor를 사용. 이렇게 사용하게 되면 hexColor를 사용하고 red, green, blue는 다시 값을 설정하고 사용해야한다. 반대 경우도 동일.하지만 이렇게 새..
2025.03.26 -
SSO
SSO(Small String Optimization)std::string이 짧은 문자열을 저장할 때 힙 할당을 피하고 내부 버퍼(Stack 또는 inline buffer)를 사용하여 저장하는 최적화 기법 보통 15자 이하의 문자열 + NULL(컴파일러 및 구현에 따라 다름)은 힙을 사용하지 않고 스택(Stack)에 저장동적 할당을 피해서 속도를 높이고, 메모리 사용을 줄임. 장점성능 향상 : 동적 할당을 피해서 빠름메모리 절약 : 짧은 문자열은 추가적인 힙 할당 없이 std::string 내부에서 해결캐시 친화적 : 스택을 사용하므로 CPU 캐시에 적중할 가능성이 높아 속도가 빠름.단점SSO 버퍼 크기 제한 : 특정 크기(15자) 초과 시 힙 사용.C++ 표준에서 강제되지 않음: 모든 컴파일러에서 적용..
2025.03.26