목록Computer Science (21)
ultra_dev
마이크로 서비스 아키텍쳐 독립적으로 배포 가능한, 각각의 기능을 수행하는 서비스로 구성된 아키텍쳐라고 할 수 있다. 서비스마다 다른 기술 스택(개발 언어, 데이터베이스 등)이 사용 가능하다. 기존의 방식은 모놀리식 아키텍쳐 방식이다. 개발이 완료된 웹 어플리케이션을 하나의 결과물로 패키징하여 배포되는 형태를 말한다. 웹의 경우 WAR파일로 빌드되어 WAS에 배포하는 형태를 말한다. 주로 소규모 프로젝트에서 사용된다. 모닐리식 아키텍쳐 방식의 장점전체 애플리케이션이 하나로 되어 있으니, 보통 동일한 개발 툴 사용따라서 배포 및 테스트 등의 개발, 환경설정이 간단각 컴포넌트들이 함수로 호출 되기 때문에 성능에 제약이 덜하고 운영 관리 용이결론 : 작은 볼륨의 시스템에는 매우 유용하지만 시스템이 커지면 문제 ..
1. 인덱스란? 어떤 데이터가 어디에 있는지 위치 정보를 가진 주소록 테이블의 데이터는 순서 없이 쌓이게 되므로 특정 조건의 데이터를 찾으려면 테이블의 모든 데이터에 접근하여 비교하는 과정이 필요(full table scan) 하지만 인덱스가 있는 경우 search-key가 정렬되어 있기 때문에 조건 검색 시 속도가 빠름. (특정 컬럼을 'search-key', 실제 데이터의 물리적 위치 값을 'pointer'라고 함) 만약 대량의 데이터를 가지고 있고 select ~ where 같은 특정 조건의 데이터를 찾을 때, 인덱스를 활용하여 빠르게 데이터를 가져올 수 있음. 반대로 데이터의 양이 많지 않다면 굳이 인덱스를 사용할 이유가 없어짐 테이블의 특정 컬럼에 인덱스를 생성하면 , 해당 컬럼의 데이터를 정렬..
DI란 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입 기능으로, 객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식이다. DI(의존성 주입)를 통해서 모듈 간의 결합도가 낮아지고 유연성이 높아진다. DI의 방법으로는 필드 주입, Setter 주입, 생성자 주입이 있다. 이 중 생성자 주입 방식이 추천된다. final 키워드를 사용할 수 있어서 컴파일 시점에 누락된 의존성을 확인 가능하고, 생성자 주입을 통해 변경의 가능성을 배제하고 불변성을 보장하며, 객체의 생성과 조립(의존관계 주입)이 동시에 실행되다 보니 순환참조에러를 사전에 잡을 수 있다는 장점이 있기 때문이다. 유사한 개념으로 IOC(INVERSION OF CONTROL)가 있다. IoC란 "제어의 역전" 이라..
+프로젝트에 REST API를 사용한 이유: 각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론이 가능하기 때문에 사용(소통 및 협업 용이) REST API 말고 다른 비교할만한 것:GraphQL, 쿼리를 활용해서 한번의 요청으로 많은 데이터를 가져올 수 있는 방법.장점 : 필요한 최소 정보만 별도 요청이 가능하기에 효율적이고, 엄격하게 정의된 데이터 유형은 클라이언트와 서버 간의 통신 오류를 줄여줌단점 : 고정된 요청과 응답만 필요할 경우에는 Query 로 인해 요청의 크기가 RESTful API 의 경우보다 더 커짐.File 전송 등 Text만으로 하기 힘든 작업들을 처리하기 복잡👓정리(X)두서 없는 글 리소스를 프로그래밍 규약에 맞게 전달 하는것URI 규약에 맞게 리소스를 ..