복습공부 이론 10

Spring AOP 에 대하여

### 1. AOP의 주요 개념 - **Aspect**: 공통 관심사를 모듈화한 것입니다. 예를 들어, 로깅이나 보안 같은 기능이 이에 해당합니다. - **Join Point**: AOP가 적용될 수 있는 지점으로, 메서드 호출, 객체 생성 등이 포함됩니다. - **Pointcut**: 어떤 Join Point에 Aspect를 적용할지를 정의하는 표현식입니다. - **Advice**: Aspect가 적용되는 방식으로, 특정 Join Point에서 실행될 코드입니다. 종류에는 `Before`, `After`, `Around`, `AfterReturning`, `AfterThrowing` 등이 있습니다. - **Weaving**: Aspect를 애플리케이션 코드에 적용하는 과정으로, 컴파일 시, 로드 시, ..

복습공부 이론 2024.10.14

JSP

JSP(JavaServer Pages)는 Java를 기반으로 한 서버 측 웹 기술로, 동적인 웹 페이지를 생성하는 데 사용됩니다. JSP는 HTML 코드에 Java 코드를 결합하여 작성할 수 있으며, 사용자 인터페이스를 쉽게 생성할 수 있도록 돕습니다. ### 주요 특징: 1. **HTML과 Java 코드 혼합**: JSP 파일은 기본적으로 HTML로 작성되며, JSP 태그(``)를 사용하여 Java 코드를 삽입할 수 있습니다. 이를 통해 동적인 콘텐츠를 쉽게 생성할 수 있습니다. 2. **서블릿으로 변환**: JSP는 서버에서 최초 요청 시 서블릿으로 변환되고 컴파일되어 실행됩니다. 즉, JSP는 내부적으로 서블릿으로 처리됩니다. 3. **재사용성과 유지보수 용이**: JSP는 태그 라이브러리와 커스텀..

복습공부 이론 2024.09.30

서블릿과 JSP의 차이점

서블릿(Servlet)과 JSP(JavaServer Pages)는 모두 Java 기반의 웹 애플리케이션에서 사용되지만, 몇 가지 주요 차이점이 있습니다. 1. **구조와 언어**:    - **서블릿**: Java 클래스로 작성되며, HTML을 동적으로 생성하기 위해 Java 코드를 사용합니다. 주로 요청과 응답을 처리하는 로직이 포함됩니다.    - **JSP**: HTML과 Java 코드를 혼합하여 작성할 수 있는 템플릿 언어입니다. JSP 파일은 기본적으로 HTML로 작성되며, `` 태그를 사용하여 Java 코드를 삽입할 수 있습니다. 2. **개발 용이성**:    - **서블릿**: Java 코드를 직접 작성해야 하므로, 복잡한 HTML 구조를 만들 때 코드가 길어질 수 있습니다.    - **..

복습공부 이론 2024.09.30

Servlet 종류

Servlet은 Java 기반의 웹 애플리케이션에서 클라이언트의 요청을 처리하고, 응답을 생성하는 서버 측 컴포넌트입니다. Servlet의 종류는 다음과 같습니다: 1. **HTTP Servlet**: 가장 일반적인 형태로, HTTP 프로토콜을 통해 요청을 처리합니다. `HttpServlet` 클래스를 상속받아 구현합니다. 2. **Generic Servlet**: HTTP 외의 프로토콜을 지원하는 서블릿입니다. `GenericServlet` 클래스를 상속받아 사용할 수 있으며, 프로토콜에 구애받지 않는 일반적인 서블릿입니다. 3. **AJAX Servlet**: 비동기 JavaScript와 XML(AJAX) 요청을 처리하는 서블릿으로, 클라이언트와 서버 간의 비동기 통신을 지원합니다. 4. **Serv..

복습공부 이론 2024.09.30

Servlet

Servlet### Servlet이란? Servlet은 Java로 작성된 서버 측 프로그램으로, 클라이언트의 요청을 처리하고 응답을 생성하는 역할을 합니다. 주로 웹 애플리케이션에서 사용되며, HTTP 프로토콜을 통해 클라이언트와 서버 간의 데이터 전송을 처리합니다. ### 주요 개념 1. **Servlet 인터페이스**: 모든 서블릿은 `javax.servlet.Servlet` 인터페이스를 구현하거나 `HttpServlet` 클래스를 상속받아야 합니다. 2. **서블릿 생명주기**: 서블릿은 다음과 같은 생명주기 메서드를 가집니다:    - `init()`: 서블릿이 처음 로드될 때 호출되며, 초기화 작업을 수행합니다.    - `service()`: 클라이언트의 요청을 처리하는 메서드로, `doGet..

복습공부 이론 2024.09.30

관계형 데이터베이스(RDB)

관계형 데이터베이스(RDB)에 대한 내용 정리해볼게요! ### 관계형 데이터베이스(RDB)란? 관계형 데이터베이스는 데이터를 테이블 형태로 저장하고, 각 테이블 간의 관계를 정의하여 데이터를 관리하는 시스템입니다. RDBMS(관계형 데이터베이스 관리 시스템)를 통해 데이터의 무결성과 일관성을 유지할 수 있습니다. ### 주요 개념 1. **테이블(Table)**: 데이터를 행(Row)과 열(Column)로 구성하여 저장합니다. 각 테이블은 고유한 이름을 가집니다.     2. **행(Row)**: 테이블의 각 데이터 항목을 나타냅니다. 하나의 행은 하나의 레코드(Record)를 의미합니다. 3. **열(Column)**: 테이블의 각 속성을 정의합니다. 각 열은 특정 데이터 타입을 가집니다. 4. **기..

복습공부 이론 2024.09.30

Web server 와 WAS 의 차이점

웹 서버와 WAS(웹 애플리케이션 서버)의 차이점에 대해 알아보겠습니다. 이 두 용어는 웹 애플리케이션의 구조에서 매우 중요한 역할을 하며, 각각의 기능과 특징이 다릅니다. ### 1. 웹 서버 (Web Server) 웹 서버는 클라이언트의 요청에 따라 정적 콘텐츠(HTML, CSS, 이미지 파일 등)를 전달하는 역할을 합니다. 주로 HTTP 프로토콜을 사용하여 클라이언트와 통신합니다. 웹 서버의 주요 기능은 다음과 같습니다: - **정적 콘텐츠 제공**: HTML 파일, 이미지, CSS 파일 등 정적 파일을 클라이언트에게 전송합니다. - **HTTP 요청 처리**: 클라이언트의 HTTP 요청을 수신하고, 그에 맞는 응답을 반환합니다. - **리소스 관리**: 요청된 파일을 서버의 디스크에서 찾아 클라이..

복습공부 이론 2024.09.30

React의 상태(state)와 생명주기(life cycle)

React의 상태(state)와 생명주기(life cycle)에 대해 1. **정의**: 상태는 컴포넌트의 데이터나 정보를 저장하는 객체입니다. 각 컴포넌트는 고유한 상태를 가질 수 있으며, 상태가 변경될 때마다 컴포넌트가 다시 렌더링됩니다. 2. **상태 관리**:    - **useState Hook**: 함수형 컴포넌트에서 상태를 관리하기 위해 사용합니다.      ```jsx      import React, { useState } from 'react';      function Example() {        const [count, setCount] = useState(0);        return (                      You clicked {count} times  ..

복습공부 이론 2024.09.30

프레임워크(Framework), 라이브러리(Library)

### 1. 라이브러리 (Library) 라이브러리는 특정 기능이나 작업을 수행하는 코드의 집합입니다. 개발자는 필요할 때 이 라이브러리를 호출하여 사용할 수 있습니다. 라이브러리는 일반적으로 특정 기능을 제공하며, 개발자가 원하는 대로 사용할 수 있습니다. #### 주요 특징: - **호출 주체**: 개발자가 라이브러리를 호출합니다. 즉, 개발자가 코드의 흐름을 제어합니다. - **기능 제공**: 특정 기능이나 작업을 수행하는 데 필요한 코드가 포함되어 있습니다. - **유연성**: 필요에 따라 원하는 만큼 호출하여 사용할 수 있습니다. #### 예시: - **jQuery**: DOM 조작 및 AJAX 요청을 쉽게 처리할 수 있도록 도와주는 라이브러리. - **Lodash**: JavaScript에서 ..

복습공부 이론 2024.09.08