전체 글 (61) 썸네일형 리스트형 Recursion(순환)-2 문자열의 길이 계산 알고리즘 1 2 3 4 5 6 7 public static int lenghth(String str){ if(str.equals("")) return 0; else return 1+lenghth(str.substring(1)); } Colored by Color Scripter cs 가장 앞에 존재하는 문자 하나를 제거하고 1을 더하는 작업을 반복하여 총 문자열의 길이를 구한다. 문자열의 프린트 하는 알고리즘 1 2 3 4 5 6 7 8 public static void printChars(String str){ if(str.equals("")) return 0; else System.out.print(str.charAt(0)); printChars(str.substring(1)); .. 선형 시간 알고리즘 알고리즘의 시간복잡도란 알고리즘의 속도는 코드에 반복문이 수행되는 횟수로 측정한다. 이때 반복문의 수행 횟수는 입력의 크기에 대한 함수로 표현한다. 선형 시간 알고리즘이란 코드의 수행시간이 입력의 크기에 정비례하는 코드로 대게 우리가 찾을 수 있는 알고리즘 중 가장 좋은 알고리즘인 경우가 많다.(입력 전체를 한번은 확인해야 한다.) 이동평균을 이용하여 선형시간 알고리즘을 이해해 보았다. 이동평균이란 하루에 마시는 믹스커피 개수를 예로 들어 보면 1일 2일 3일 4일 5일 6일 7일 8일 3개 4개 5개 3개 4개 3개 3개 4개 M-이동평균에서 M을 3이라고 한다면 3일에 : (1일+2일+3일)/3 4일에 : (2일+3일+4일)/3 5일에 : (3일+4일+5일)/3 . . . 을 모두 계산하여 나타내는 .. 프락시(Proxy)-2/2 프락시 서버 배치 프락시는 사용목적에 따라서 배치할 수 있다. 1. 출구 프락시 로컬 네트워크와 더 큰 인터넷 사이의 트래픽 제어를 위해 로컬 네트워크 출구에 위치시킬 수 있다. 방화벽 제공, 인터넷 트래픽 성능, 개선 콘텐츠 브라우징을 막기 위한 필터링 출구 프락시 등을 이용할 수 있다. 2. 접근(입구)프락시 ISP접근 지점에 위치시켜 고객으로부터 오는 모든 요청을 종합적으로 처리한다. 다운로드 속도 개선, 대역폭 비용 절감을 위해 캐시프락시를 사용(많이 찾는 문서 사본 저장) 3. 대리 프락시 네트워크의 가장 끝에 있는 웹 서버들의 바로앞에 위치하여 웹 서버로 향하는 모든 요청을 처리하고 필요시 웹 서버에게 자원을 요청한다. 웹 서버 보안 기능 추가, 빠른 웹 서버 캐시를 느린 웹 서버 앞에 놓음으.. 프락시(Proxy)-1/2 웹 프락시 서버는 중개자이다. 프락시는 클라이언트와 서버 사이에 위치하여 그들 사이의 HTTP메세지를 정리하는 중개인 처럼 동작한다. 웹 프락시 서버는 클라이언트의 입장에서 트랜잭션을 수행하는 중개인 이다. 트랜잭션을 완료하는 것이 클라이언트라는 점은 변하지 않지만, 프락시 서버가 제공하는 좋은 서비스를 이용하게 된다. HTTP프락시 서버는 웹 서버이기도 하고 웹 클라이언트이기도 하다. => 프락시는 HTTP 클라이언트의 요청을 받게 되므로 반드시 웹 서버처럼 요청(request)과 커넥션(Connection)을 적절히 다루고 응답(response)을 돌려주어야 한다. 동시에 => 프락시는 요청(request)을 서버로 보내기도 하므로 요청(request)을 보내고 응답(response)을 받는 올바른 .. Recursion(순환)-1 Recursion vs Iteration 모든 순환함수는 반복문으로 변경 가능하다. 모든 반복문은 recursion으로 표현 가능하다. 순환함수는 복잡한 알고리즘을 단순하고 알기쉽게 표현하는 것을 가능하게 한다 함수 호출에 따른 오버헤드가 존재한다.(매개변수 전달, 액티베이션 프레임 생성 등) 자기 자신을 호출하는 함수(메서드)를 Recursion이라고 한다. 1 2 3 4 5 6 7 8 9 10 11 public class Code01{ public static void main(String [] args){ func(); } public static void func(){ System.out.println("Hello...."); func(); } } Colored by Color Scripter c.. 이전 1 ··· 5 6 7 8 다음