전체 글 357

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. 추상화 객체에서 공통된 속성과 행위를 추출하는 것 공통의 속성과 행위를 찾아 타입을 정의하는..

23.04.28 - 운동일지

가슴 벤치프레스 - 5set(50-15, 60-12, 70-10, 80-8, 80-6) 덤벨 벤치프레스 - 4set (15-15, 20-10, 20-10, 20-8) 인클라인 벤치프레스 - 4set (50-12) 체스트 프레스 - 4set (40-10) 삼두 케이블 오버헤드 익스텐션 - 4set (20-12) 케이블 프레스 다운 (로프) - 4set (25-12, 25-12, 32-8, 32-8) 케이블 프레스 다운(바) - 3set (32-10) 원암 케이블 프레스 다운 (언더그립) - 4set (10-8, 10-8, 5-15, 5-15)

시간 복잡도(Time Complexity) 와 공간 복잡도 (Space Complexity)

알고리즘을 평가할 때 시간 복잡도와 공간 복잡도를 사용한다. 시간 복잡도 = 알고리즘의 수행 시간 평가 공간 복잡도 : 알고리즘 수행에 필요한 메모리 양을 평가 시간 복잡도와 공간 복잡도는 주로 점근적 표기법 중 빅오 표기법을 이용해 나타낸다. 이유는 최악의 경우에도 해당 알고리즘이 어떤 성능을 낼지 가늠해 볼 수 있기 때문이다. 시간 복잡도 (Time Complexity) 수행 시간은 실행환경에 따라 다르게 측정되기 때문에 기본 연산의 실행 횟수로 수행 시간을 평가한다. 기본 연산 데이터 입출력 - copy, move ... 산술 연산 - add, multiply ... 제어 연산 - if, while ... 시간 복잡도는 세 가지의 경우로 나타낼 수 있다 1. 최선의 경우 (Best Case) 빅 오..

728x90