본문 바로가기

인프런

(102)
[인프런]스프링 핵심원리 기본편_스프링 컨테이너와 스프링 빈(스프링 컨테이너 생성) 스프링 컨테이너 생성 스프링 컨테이너를 생성하는 코드는 다음과 같다. ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); 1. ApplicationContext 를 스프링 컨테이너라고 하며 이는 인터페이스이다. 2. 인터페이스이기 때문에 다형성이 적용되어 있다. 3. 스프링 컨테이너는 XML을 기반으로 만들 수 있고, 어노테이션 기반의 자바 설정 클래스로도 만들 수 있다. 4. 최근에는 XML 기반으로는 잘 쓰이지 않는다. 스프링 컨테이너 생성과정 [ 1. 스프링 컨테이너 생성 ] 1. 스프링 컨테이너를 생성하여 만들면, 그 안에 스프링 빈 저장소가 생긴다. 2. 스프링 빈 저장소에는..
섹션 6. Sorting and Searching(정렬, 이분검색과 결정알고리즘) 6. 장난꾸러기 문제 새 학기가 시작되었습니다. 철수는 새 짝꿍을 만나 너무 신이 났습니다. 철수네 반에는 N명의 학생들이 있습니다. 선생님은 반 학생들에게 반 번호를 정해 주기 위해 운동장에 반 학생들을 키가 가장 작은 학생부터 일렬로 키순으로 세웠습니다. 제일 앞에 가장 작은 학생부터 반 번호를 1번부터 N번까지 부여합니다. 철수는 짝꿍보다 키가 큽니다. 그런데 철수가 앞 번호를 받고 싶어 짝꿍과 자리를 바꿨습니다. 선생님은 이 사실을 모르고 학생들에게 서있는 순서대로 번호를 부여했습니다. 철수와 짝꿍이 자리를 바꾼 반 학생들의 일렬로 서있는 키 정보가 주어질 때 철수가 받은 번호와 철수 짝꿍이 받은 번호를 차례로 출력하는 프로그램을 작성하세요. 입력 첫 번째 줄에 자연수 N(5
섹션 6. Sorting and Searching(정렬, 이분검색과 결정알고리즘) 5. 중복 확인 문제 캐시메모리는 CPU와 주기억장치(DRAM) 사이의 고속의 임시 메모리로서 CPU가 처리할 작업을 저장해 놓았다가 필요할 바로 사용해서 처리속도를 높이는 장치이다. 워낙 비싸고 용량이 작아 효율적으로 사용해야 한다. 철수의 컴퓨터는 캐시메모리 사용 규칙이 LRU 알고리즘을 따른다. LRU 알고리즘은 Least Recently Used 의 약자로 직역하자면 가장 최근에 사용되지 않은 것 정도의 의미를 가지고 있습니다. 캐시에서 작업을 제거할 때 가장 오랫동안 사용하지 않은 것을 제거하겠다는 알고리즘입니다. 입력 첫 번째 줄에 캐시의 크기인 S(3
섹션 6. Sorting and Searching(정렬, 이분검색과 결정알고리즘) 4. Least Recently Used 문제 캐시메모리는 CPU와 주기억장치(DRAM) 사이의 고속의 임시 메모리로서 CPU가 처리할 작업을 저장해 놓았다가 필요할 바로 사용해서 처리속도를 높이는 장치이다. 워낙 비싸고 용량이 작아 효율적으로 사용해야 한다. 철수의 컴퓨터는 캐시메모리 사용 규칙이 LRU 알고리즘을 따른다. LRU 알고리즘은 Least Recently Used 의 약자로 직역하자면 가장 최근에 사용되지 않은 것 정도의 의미를 가지고 있습니다. 캐시에서 작업을 제거할 때 가장 오랫동안 사용하지 않은 것을 제거하겠다는 알고리즘입니다. 캐시의 크기가 주어지고, 캐시가 비어있는 상태에서 N개의 작업을 CPU가 차례로 처리한다면 N개의 작업을 처리한 후 캐시메모리의 상태를 가장 최근 사용된 작업부터 차례대로 출력하는 프로그램을 작성하세..
섹션 6. Sorting and Searching(정렬, 이분검색과 결정알고리즘) 3. 삽입정렬 문제 N개의 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요. 정렬하는 방법은 삽입정렬입니다. 입력 첫 번째 줄에 자연수 N(1
섹션 6. Sorting and Searching(정렬, 이분검색과 결정알고리즘) 2. 버블정렬 문제 N개의 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요. 정렬하는 방법은 선택정렬입니다. 입력 첫 번째 줄에 자연수 N(1
[인프런]스프링 핵심원리 기본편_스프링으로 전환하기 스프링 적용 드디어 본격적으로 스프링을 적용해볼 것이다. 먼저 이전에 작성했던 소스 중 AppConfig에 어노테이션을 추가한다. @Configuration : 스프링 컨테이너가 이 어노테이션이 붙어있는 클래스는 빈(Bean)을 구성하기 위한 클래스임을 알려준다. 이를 사용하면 자동으로 빈으로 등록하고 @Bean이 있는메소드를 찾아서 빈(Bean)을 생성한다. @Bean : 개발자가 직접 작성한 메소드를 통해 반환되는 객체를 Bean으로 만든다. @Component : 개발자가 직접 작성한 클래스를 빈으로 만든다. 먼저 AppConfig에 어노테이션을 추가한다. import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscoun..
섹션 6. Sorting and Searching(정렬, 이분검색과 결정알고리즘) 1. 선택정렬 문제 N개의 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요. 정렬하는 방법은 선택정렬입니다. 입력 첫 번째 줄에 자연수 N(1