목록전체 글 (151)
ultra_dev
매출액의 종류 설명 현수의 아빠는 제과점을 운영합니다. 현수아빠는 현수에게 N일 동안의 매출기록을 주고 연속된 K일 동안의 매출액의 종류를 각 구간별로 구하라고 했습니다. 만약 N=7이고 7일 간의 매출기록이 아래와 같고, 이때 K=4이면 20 12 20 10 23 17 10 각 연속 4일간의 구간의 매출종류는 첫 번째 구간은 [20, 12, 20, 10]는 매출액의 종류가 20, 12, 10으로 3이다. 두 번째 구간은 [12, 20, 10, 23]는 매출액의 종류가 4이다. 세 번째 구간은 [20, 10, 23, 17]는 매출액의 종류가 4이다. 네 번째 구간은 [10, 23, 17, 10]는 매출액의 종류가 3이다. N일간의 매출기록과 연속구간의 길이 K가 주어지면 첫 번째 구간부터 각 구간별 매출..
제네릭 데이터의 타입을 일반화(Generalize)하는 것을 제네릭(Generic)이라고 할 수 있다. 이러한 제네릭은 클래스나 메서드에서 사용할 데이터 타입을 컴파일 시에 미리 지정할 수 있다. 따라서 컴파일 시에 미리 타입 검사(Type Check)를 수행할 수 있다. 클래스나 메소드를 일반화시키는 기법 타입 검사를 컴파일 시에 수행하면 다음과 같은 장점을 얻을 수 있다. 1. 클래스나 메서드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있다.2. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있다.3. 타입에 대해 유연성과 안정성을 확보한다.4. 런타임 환경에 영향을 주지 않는 전처리 기술이다. JDK 1.5 이전에서는 여러 타입을 사용하는 대부분의 클래스나 메소드에서 인수..
마이크로 서비스 아키텍쳐 독립적으로 배포 가능한, 각각의 기능을 수행하는 서비스로 구성된 아키텍쳐라고 할 수 있다. 서비스마다 다른 기술 스택(개발 언어, 데이터베이스 등)이 사용 가능하다. 기존의 방식은 모놀리식 아키텍쳐 방식이다. 개발이 완료된 웹 어플리케이션을 하나의 결과물로 패키징하여 배포되는 형태를 말한다. 웹의 경우 WAR파일로 빌드되어 WAS에 배포하는 형태를 말한다. 주로 소규모 프로젝트에서 사용된다. 모닐리식 아키텍쳐 방식의 장점전체 애플리케이션이 하나로 되어 있으니, 보통 동일한 개발 툴 사용따라서 배포 및 테스트 등의 개발, 환경설정이 간단각 컴포넌트들이 함수로 호출 되기 때문에 성능에 제약이 덜하고 운영 관리 용이결론 : 작은 볼륨의 시스템에는 매우 유용하지만 시스템이 커지면 문제 ..
1. 인덱스란? 어떤 데이터가 어디에 있는지 위치 정보를 가진 주소록 테이블의 데이터는 순서 없이 쌓이게 되므로 특정 조건의 데이터를 찾으려면 테이블의 모든 데이터에 접근하여 비교하는 과정이 필요(full table scan) 하지만 인덱스가 있는 경우 search-key가 정렬되어 있기 때문에 조건 검색 시 속도가 빠름. (특정 컬럼을 'search-key', 실제 데이터의 물리적 위치 값을 'pointer'라고 함) 만약 대량의 데이터를 가지고 있고 select ~ where 같은 특정 조건의 데이터를 찾을 때, 인덱스를 활용하여 빠르게 데이터를 가져올 수 있음. 반대로 데이터의 양이 많지 않다면 굳이 인덱스를 사용할 이유가 없어짐 테이블의 특정 컬럼에 인덱스를 생성하면 , 해당 컬럼의 데이터를 정렬..