1. 뜻? 이미 제공되어 있는 것(클래스)을 그대로 사용할 수 없을 때, 필요한 형태로 변환하여 사용하는 패턴. 2. 언제 사용하나? 이미 제공되어지는 클래스를 재이용 해서 원하는 클래스로 손쉽게 개조할 때 사용. 제공되는 클래스를 직접 건드리는 것이 아니므로 제공되는 클래스의 소스를 몰라도 되고(사양은 알아야함), 버그 발생시 어댑터 클래스를 중점적으로 확인 하므로 검사도 쉬워진다. 3. 참조 http://cafe.naver.com/fillmyjavacareer/74
1. 뜻 무엇인가 많이 모여있는 것들을 순서대로 지정하면서 전체를 검색하는 처리를 실행하기 위한 것 2. 무엇을 어떻게 해결?(장점) Array란 자료구조로 집합체클래스를 구현한 뒤 다른 자료구조로 변경하면 많은 부분을 수정해야한다.Iterator pattern을 사용하면 집합체의 자료구조가 바뀌어도 코드의 큰 수정없이 이용 할 수 있다.즉, 집합체의 자료구조 구현방법을 전혀 노출 시키지 않으며, 구현방법에 상관없이 집합체 안의 항목에 모두 접근할 수 있다. 3. 참조 http://cafe.naver.com/fillmyjavacareer/77
http://ksewookk.blog.me/100125150508
매일매일 일어나서 오늘의 할일을 생각하자우선순위를 정하고 하나씩 우선순위가 가장 높은 일 부터순서대로 진행하자.
public class QuickSort { public static void main(String args[]){ int array[] = {10, 87, 2, 42, 51, 12, 5, 29, 78, 50}; //quicSort(배열, 배열첫번째인자(0), 배열마지막인자(9)) Sort.quickSort(array, 0 ,array.length-1); //정렬된 배열 출력 for(int num : array){ System.out.print(num+" "); } } } public class Sort { // 퀵정렬 : 기준값(pivot)과 비교해 작은수는 왼쪽 큰수는 오른쪽으로 분할을 하고 분할 된 배열들을 재귀함수를 이용해서 똑같이 분할 정렬한다. public static void quickSor..
1. TCP - 연결성, 신뢰성을 보장한다. : 데이터를 전송하고 제대로 전송되었는지 서버로 부터 확인을 합니다. 때문에 속도가 느리지만 데이터의 신뢰성을 보장합니다. ex) e-mail 전송과 같이 데이터의 손실이 있어서는 안되는 작업에 사용. 2. UDP - 비연결성, 비신뢰성 : 데이터를 단순히 전송하기만 한다. 데이터가 제대로 도착했는지, 손실되었는지는 확인 하지 않는다. 때문에 속도가 빠르지만 데이터의 손실이 있을 수 있다. ex) 인터넷전화와 같이 실시간으로 전송이 되어야하는 즉 속도가 빨라야 하는 작업에 사용.(대신 품질은 떨어짐) 동영상 스트리밍 서비스의 품질이 떨어지는 것도 UDP 전송방식이기 때문. 잦은 버퍼링보다는 몇 프레임이 손실되더라 도 빠르게 볼 수 있어야함.
가장 기본적인 정렬 알고리즘인 버블, 삽입, 선택정렬은 모두 간단하게 구현이 가능하다. 하지만 데이터 수가 조금만 많아지면 매우 느려 지므로(시간복잡도 : n^2) 실제로 사용하기에는 모두 비효율적인 알고리즘이다.그나마 삽입정렬이 가장 우수하고, 버블정렬이 가장느리다고 할 수 있다. 삽입정렬은 최악의 경우 n^2 이지만 정렬 상태에 따라 최대 n까지 시간복잡도가 개선된다. 또한 시간복잡도 계산에 사용된 비교연산만 이외에 실제 교환연산을 포함하면 버블정렬의 교환연산이 가장많이 나타난다. 따라서 버블정렬이 가장 느리다고 할 수 있다.
1. 정적 웹 페이지: 사용자(클라이언트)가 URL을 입력하여 요청을 하면 해당 URL의 웹서버에서 이미 저장되어 있는 html 문서를 사용자(클라이언트)에 보내준다. -> 즉, 모든 사용자들은 같은 URL 입력시 같은 화면을 보게 된다.(웹서버에 있는 파일을 수정하지 않는 이상)ex) 보통 어떠한 회사 홈페이지에서 회사소개 페이지는 항상 같은 내용을 담은 정적 웹 페이지(html문서)이다. 2. 동적 웹 페이지 : 사용자(클라이언트)가 어떠한 요청을 하면 웹서버에서 요청 정보를 처리한 후 제작된 html문서를 사용자(클라이언트)에게 보내준다. -> 즉, 모든 사용자들은 요청에 따라 각각 다른 화면을 보게 된다.ex) 어떠한 홈페이지 접속시 매일 네이버에서 로그인 요청 시 로그인 결과화면은 회원마다 각각..