목록전체 글 (88)
꼬물꼬물
💡 정렬 알고리즘이란? N개의 숫자가 입력으로 주어졌을 때, 사용자가 지정한 기준에 맞게 정렬해 출력하는 알고리즘이다. 선택 정렬(Selection Sort) 현재 위치에 들어갈 값을 찾아 정렬하는 배열이다. 현재 위치에 저장될 값의 크기가 작냐, 크냐에 따라 최소 선택정렬과 최대 선택정렬로 구분할 수 있다. 최소 선택정렬: 오름차순 최대 선택정렬: 내림차순 로직(오름차순) 정렬되지 않은 인덱스의 맨 앞부터, 이를 포함한 배열 값 중 가장 작은 값 찾기 가장 작은 값을 찾으면, 그 값을 현재 인덱스의 값과 바꿔준다. 다음 인덱스부터 반복한다. 시작 복잡도는 O(n^2) 공간 복잡도는 하나의 배열에서만 진행하므로 O(n) void selectionSort(int[] arr){ for(int i = 0; i..

Filter와 Interceptor 스프링에서 요청이 Controller Layer로 들어오기 전 처리해야하는 작업 인증, 인가, XSS 방어, 데이터 압축, 인코딩 이러한 작업은 모든 컨트롤러 메서드에서 실행하는 것이 아닌 공통적으로 처리하는 것이 효율적이다. AOP(Aspect Oriented Programming): 관점 지향 프로그래밍 공통 관심사항과 핵심 관심사항으로 분리 # Filter 서블릿 필터는 요청이 서블릿으로 전송되기 전에 요청을 가로채고 처리하는데 사용할 수 있다. 또한, 서블릿이 완료되고 컨테이너가 다시 클라이언트에게 응답시, 작업을 처리할 수 있다. 인증 필터 응답 데이터 압축 가장 앞단에 존재하는 포스트 컨트롤러인 디스패처 서블릿 요청 전,후에 부가적인 작업을 처리할 수 있는 ..

💡 페이지 교체 알고리즘이란? 운영체제는 주기억장치보다 더 큰 용량의 프로그램을 실행하기 위해 프로그램 일부만 주기억 장치에 적재해 사용한다. 이를 가상 메모리 기법이라고 한다. 페이징 기법으로 메모리를 관리하는 운영체제에서 필요한 페이지가 주기억장치에 적재되지 않았을 때, 어떤 페이지 프레임을 선택헤 교체할 것인지 결정하는 방법. # 가상 메모리(Virtual Memory) 물리 메모리 크기의 한계 극복을 위해. 메인 메모리의 크기가 한정되어 있어 물리적인 메모리 크기보다 크기가 큰 프로세스는 실행시키기 어렵다. 이를 실행시키기 위해 나온 방법이 바로 가상 메모리 핵심은 프로세스 실행시, 필요한 부분만 메모리에 적제하는 것. 이것을 요구 페이징이라고 한다. 프로그램에 실제 메모리 주소(물리주소)가 아닌..

1.7 Comparator와 Comparable Arrays.sort()를 사용할때 해당 Array의 요소에 Comparable 구현에 의해 정렬되는 것이다. Comparator와 Comparable은 모두 인터페이스로 컬렉션을 정렬하는데 필요한 메서드를 정의하고 있다. Comparable 구현 클래스 Integer와 같은 Wrapper 클래스와 String, Date, File 등 기본적으로 오름차순 public interface Comparator{ int compare(Object o1, Object o2); boolean equals(Object o); } public interface Comparable{ int compareTo(Object o); } Comparable은 java.lang 패..