CS

· CS/Java
이번에는 Generic을 정리해 보겠습니다. Generic이란? 제네릭이란 타입을 파라미터로 사용할 수 있 해주는 기술입니다. 제네릭을 사용하면 데이터 타입을 클래스 내부에서 지정하는 것이 아니라 외부에서 지정할 수 있습니다. List list = new ArrayList(); 부분이 제네릭입니다. Integer를 입력하여 List의 내부 타입을 Integer로 만듭니다. ava의 제네릭은 클래스, 인터페이스, 메소드를 정의할 때 타입을 파라미터로 사용할 수 있게 해주는 기능입니다. 제네릭을 사용하면 클래스, 메소드에 사용할 내부 데이터 타입을 컴파일 시에 미리 지정할 수 있습니다. 이를 통해 코드의 타입안정성, 재사용성, 가독성을 높일 수 있습니다. JDK 1.5 이전에는 여러 타입을 사용하는 클래스나..
· CS/DataBase
이번에는 DB DeadLock 교착 상태에 대해 정리하겠습니다. DB 데드락이란? DB 데드락이란 트랜잭션의 교착 상태입니다. 두 개 이상의 트랜잭션이 서로의 작업이 완료되기를 기다리면서 영원히 대기 상태에 빠지는 상황을 말합니다. 데드락은 동시에 여러 트랜잭션이 실행되는 다중 사용자 DB 시스템에서 자주 발생합니다. 데드락 발생 원인 데드락은 4가지 상황이 충족되면 발생합니다. 4가지 상황은 상호 배제, 소유와 대기, 비선점, 순환 대기 입니다. 하나씩 알아보겠습니다. 상호 배제(Mutual Exclusion) 각 트랜잭션 자원에 대해 베타적인 제어권을 가지고 있습니다. 베타적 제어권이란 한 트랜잭션이 자원을 독점하고 있어 다른 트랜잭션이 접근할 수 없는 것입니다. 소유와 대기(Hold and Wait..
· CS/DataBase
이번에는 DB 이상 현상에 대해 정리해보겠습니다. DB 이상 현상이란? 이상 현상(Anomaly)란 현실 세계의 실제 값과 데이터베이스에 저장된 값이 일치하지 않는 문제입니다. 데이터를 부적절하게 저장하거나 관리할 때 발생하는 문제점들로 주로 정규화를 제대로 수행하지 않을 때 발생합니다. 정규화를 제대로 수행하지 않으면 중복이 발생하고 일관성과 무결성이 깨지기 때문입니다. (이상 현상은 정규화를 통해 해결할 수 있습니다.) 이상 현상은 삽입 이상, 갱신 이상, 삭제 이상 세 가지 유형이 존재합니다. DB에 데이터를 변경하는 작업에서 발생합니다. 아래는 설명을 도와주기 위한 예시 테이블입니다. 학번 학생 이름 강의코드 강의 이름 담당 교수 1 김길동 101 Spring 김일한 2 고길동 101 Spring..
· CS/Spring
이번에는 Spring과 Spring Boot에 대해 정리하겠습니다. Spring Spring이란? Spring이란 Java 애플리케이션 개발을 도와주는 프레임워크 입니다. 좀 더 자세히 말하면 엔터프라이즈용 Java 애플리케이션 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 입니다. Spring 정의에 대해 좀 더 알아보겠습니다. 오픈소스 스프링은 모든 사용자에게 무료로 열려 있습니다. 어떤 개인 및 기업도 스프링을 사용하여 애플리케이션을 개발 할 수 있습니다. 스프링은 오픈소스로 누구나 이용 가능하지만 스프링소스(SpringSource)라는 IT기업이 관리하고 있습니다. 스프링 개발에는 한정적인 인원만 참여하고 있어서 오픈소스 프레임워크지만 안정적인 개발과 개선이 보장됩니다. 경량급 경량..
· CS/DataBase
이번에는 가상 테이블인 View에 대해 정리해 보겠습니다. View란? View란 하나 이상의 테이블이나 뷰로 만들어지는 '가상 테이블' 입니다. View는 아래와 같은 쿼리로 생성할 수 있습니다. CREATE VIEW 뷰 이름 AS SELECT 컬럼명 FROM 테이블명 [WHERE 조건]; CREATE VIEW MEMBER_INFO AS SELECT NAME, EMAIL FROM MEMBER; 뷰는 하나의 SELECT 문과 같다고 생각할 수 있습니다. 원하는 필드를 선택할 수 있어 전체 데이터 중에서 보여주고 싶은 것만 보여줄 수 있습니다. 테이블은 디스크 공간이 할당되어 데이터를 저장하지만, 뷰는 데이터 딕셔너리 테이블에 뷰에 대한 정의만 저장하고 디스크에 공간이 할당되지 않습니다. 그래서 가상 테이..
· CS/Spring
이번에는 Spring MVC에서 중요한 역할을 하는 Dispatcher Servlet에 대해 정리해보겠습니다. Dispatcher Servlet 이란? 디스패쳐 서블릿은 HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 전달해주는 프론트 컨트롤러(Front Controller)입니다. Dispatcher Servlet 특징 프론트 컨트롤러 패턴 : 모든 요청을 가장 먼저 받아 공통적인 작업을 처리한 후에 적절한 컨트롤러에게 위임합니다. 정적 자원과 동적 자원을 분할 처리 : 디스패처 서블릿에 요청이 들어오면 해당하는 컨트롤러를 찾는다. 해당하는 컨트롤러가 없는 경우 정적 자원을 탐색한다. 이를 통해 효율적인 리소스 관리가 가능해집니다. Dispatcher Servlet 장점 디스..
· CS/Spring
개요 이번에는 프레임워크와 라이브러리를 각각 알아보고 어떤 차이점이 있는지 정리해보았습니다. 프레임워크 프레임워크란? 프레임워크는 소프트웨어 개발에 필요한 기본 구조와 규칙을 제공하는 도구 모음입니다. 개발자는 이 구조안에서 특정 규칙에 따라 효율적으로 애플리케이션을 개발할 수 있습니다. 프레임워크는 제어의 역전이 적용된 기술로 애플리케이션의 흐름을 제어합니다. 프레임워크는 애플리케이션 대부분의 라이프사이클을 관리하며 앱, 서버 구동, 메모리 관리, 네트워킹, 보안 등 다양한 기능을 통합적을 제공합니다. 이를 통해 개발자는 기초적인 세부 사항보다는 애플리케이션의 핵심 기능과 비즈니스 로직 구현에 더 집중할 수 있습니다. 프레임워크의 예시로는 Spring, Django, React 등이 있습니다. 프레임워..
· CS/Spring
어노테이션이란? 어노테이션이란 클래스, 메소드, 변수 등 코드의 특정 부분에 메타 데이터를 추가하는 방법입니다. 주석처럼 사용하며 Bean 주입, 클래스 역할 정의, lombok 을 수행해 자동으로 getter나 setter를 생성하기도 합니다. 특별한 의미를 부여하거나 기능을 부여하는 등 다양한 역할을 수행합니다. 어노테이션을 사용하면 설정을 간소화할 수 있으며 코드가 어떤 역할을 하는지 명확하게 표현할 수 있습니다. 이를 통해 코드량이 감소하고 유지보수하기 쉬워지며 생산성이 증가됩니다. 메타 데이터 : 이 데이터가 어떤 데이터인지 정보를 제공하는 데이터 어노테이션의 사전적 의미는 주석이라는 뜻입니다. 사전적 의미가 주석인 것답게 코드 상에서도 주석처럼 사용하며 클래스, 메소드, 변수 위에 @어노테이션..
너지살
'CS' 카테고리의 글 목록