전체 글 353

List, Set, Map, Hash Map

1. List - 저장공간이 필요에 의해 자동으로 늘어나는 자료구조 (순서가 있음) 특징 : 순서가 있고, 중복을 허용 (배열과 유사) 장점 : 가변적인 배열 (배열이 자동으로 늘어남) 단점 : 원하는 데이터의 위치가 뒤쪽에 위치할 시 속도 문제 발생 방식 : equals()를 이용한 데이터 검색 2. Set - 집합이다! 순서가 없고 집합이므로 중복된 데이터가 들어갈 수 없다. 중복되지 않는 숫자(데이터)를 구할 때 사용하면 유용 특징 : 순서가 없고, 중복을 허용하지 않음 장점 : 빠른 속도 단점 : 단순 집합의 개념으로 정렬하려면 별도의 처리가 필요 3. Map - 키와 데이터를 같이 저장 특징 : Key(키)와 Value(값)으로 나눠서 데이터를 관리하고 순서가 없으며 키에 대한 중복을 허용하지 ..

제네릭 (generic)

제네릭(generic)이란? 데이터 타입을 일반화한다는 것을 의미 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법 컴파일 시 미리 타입 검사를 수행하면 다음과 같은 장점이 있음 제네릭 사용 시 잘못된 타입이 들어올 수 있는 것을 컴파일 단계에서 방지 클래스 외부에서 타입을 지정해주기 때문에 따로 타입을 체크하고 변환할 필요가 없음 즉! 관리하기가 편함 비슷한 기능을 지원하는 경우 코드의 재사용성이 높아짐

JPA 영속성 컨텍스트

영속성 컨텍스트란? 엔티티를 영구 저장하는 환경 이라는 뜻 애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 DB 역할 엔티티 매니저를 통해 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 저장 em.persist(member); 엔티티 매니저를 사용해 member 엔티티를 영속성 컨텍스트에 저장한다는 의미 특징 엔티티 매니저를 생성할 때 만들어짐 엔티티 매니저를 통해 영속성 컨텍스트에 접근하고 관리할 수 있음 생명주기 비영속성 : 영속성 컨텍스트와 전혀 관계가 없는 상태 영속 : 영속성 컨텍스트에 저장된 상태 준영속 : 영속성 컨텍스트에 저장되었다가 분리된 상태 삭제 : 삭제된 상태 비영속 - 엔티티 객체를 생성했지만, 아직 영속성 컨텍스트에 저장하지 않은 상태..

Index

Index란? 데이터베이스(DB) 테이블에 대한 검색 속도를 향상시켜주는 자료구조 인덱스를 생성하고자 하는 컬럼의 데이터를 정렬한 후 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장 장점 테이블을 검색하는 속도와 성능이 향상 (정렬된 형태의 데이터를 가지고 있음) 시스템의 전반적인 부하를 줄일 수 있음 단점 인덱스를 관리하기 위한 추가 작업이 필요 추가 저장 공간 필요 잘못 사용하거나 무분별하게 사용할 경우에는 오히려 검색 성능이 저하 인덱스를 사용하면 좋은 경우 규모가 큰 테이블 INSERT, UPDATE, DELETE 작업이 자주 발생하지 않는 컬럼 WHERE나 ORDER BY, JOIN등이 자주 사용되는 컬럼 데이터의 중복도가 낮은 컬럼

DI (Dependency Injection)

DI란? Dependency Injection의 약자로 의존성 주입이라고 한다 객체(빈)들 간의 의존관계를 외부에서 결정하고 주입하는 것 동작과정 DI는 스프링 프레임워크에서 지원하는 IoC의 형태로 객체(빈) 사이의 의존관계를 빈 설정정보를 바탕으로 DI 컨테이너가 자동으로 연결 장점 Unit Test 용이 => 의존성이 낮아지기 때문 코드 재활용성 증가 => 하나의 객체에 의존하지 않기 때문 객체 간의 의존성(종속성)을 줄이거나 없앨 수 있음 객체 간의 결합도를 낮추면서 유연한 코드 작성 가능 DI (의존성 주입) 방법 생성자 주입 (Constructor Injection) - 생성자의 호출 시점에 '1회' 호출 되는 것이 보장된다. 그렇기 때문에 주입받는 객체의 변화가 없거나 반드시 객체의 주입이 ..

REST API

REST API란? - REST를 기반으로 만들어진 API를 의미 여기서 REST란? - REST (Representational State Transfer)의 약자로 자원을 이름으로 구분해 해당 자원의 상태를 주고받는 모든 것을 의미 즉, REST란 1. HTTP URI (Uniform Resource Identifier)를 통해 자원을 명시 2. HTTP Method (POST, GET, PUT, DELETE, PATCH 등)를 사용 3. 해당 자원 (URI)에 대한 CRUD Operation을 적용하는 것을 의미 REST API - REST의 원리를 따르는 API를 의미 - 몇가지 규칙이 있음 1. URI는 동사보다는 명사를, 대문자보다는 소문자를 사용 Good - ssungjaeee.com/wor..

객체지향 프로그래밍(OOP)

객체지향 프로그래밍이란? - 객체 지향 프로그래밍 (Object - Oriented Programming, OOP)은 프로그래밍에서 필요한 데이터를 추상화하여 상태와 행위를 가진 객체로 만들고, 이 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법 여기서 객체란? - 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미 - 값을 저장할 변수와 작업을 수행할 메소드를 서로 연관된 것들끼리 묶어서 만든 것을 객체라고 함 - 비유를 하자면 객체지향 프로그래밍 = 레고, 객체 = 레고 조각! - 레고 조각은 여러군데에서 재사용할 수 있으므로 부품화, 재사용성이라는 OOP 특징을 보여줌 특징 1. 추상화 객체에서 공통된 속성과 행위를 추출하는 것 공통의 속성과 행위를 찾아 타입을 정의하는..

728x90