[선택 정렬] 현재 위치의 값과 비교 값의 크기를 비교하여 크냐 작냐에 따라 정렬 우선순위가 정해지며, 정렬을 수행하는 알고리즘. 크기가 크냐에 따라 최소 선택 정렬과 최대 선택 정렬로 구분할 수 있다. 최소 선택 정렬은 오름차순으로 정렬되며, 최대 선택 정렬은 내림차순으로 정렬이 된다. 시간 복잡도 : O(n^2) 공간 복잡도 : O(n) 수행 과정 : 오름차순으로 정렬 i번째 인덱스에 가장 작은 값을 저장하기 위해 i + 1번째 인덱스부터 n번째 인덱스까지 i번째 인덱스와 비교하여 가장 작은 값의 위치 j를 탐색한다. 가장 작은 값이 위치한 j번째 인덱스와 i번째 인덱스의 값을 스왑해준다. i를 1 증가시켜 다음 인덱스에 저장될 값을 구해준다. i가 n-1일때 까지 반복. void selection_..
SOLID 원칙 SRP 단일 책임 원칙 OCP 개방-폐쇄 원칙 LSP 리스코프 치환 원칙 ISP 인터페이스 분리 원칙 DIP 의존 역전 원칙 = Single Responsiblity Principle 단일 책임 원칙 = 소프트웨어의 설계 부품(클래스, 함수 등)은 단 하나의 책임(기능)만을 가져야 한다. 응집도는 높고 결합도는 낮은 프로그램을 목표. 클래스가 수행할 수 있는 기능, 즉 책임이 많아지면 클래스 내부 함수끼리 강한 결합을 발생할 가능성이 높아진다. 이는 유지보수에 어려움이 따르므로 분리시킬 필요가 있다. class cSocket { ... } class cBind { ... } class cServer { cSocket m_socket; cBind m_bind; ... } =Open-Clos..
PC는 DNS 서버의 IP주소가 설정되어 있어야 한다. 보통 DHCP 프로토콜로 IP 주소를 할당 받으면서 DNS 서버 IP 주소를 DHCP Option 6을 통해 함께 받는다. 이렇게 받은 DNS를 Local DNS라 칭한다. 보통 2개의 IP 주소를 받게 되는데, 하나가 죽었을 때를 대비하기 위해서이다. 위의 주소는 LG U+ DNS 서버 주소이다. 동작 과정 웹 브라우저 주소 창에 www.naver.com 입력. PC는 미리 설정되어 있는 DNS(Local DNS)에게 www.naver.com 이라는 Hostname에 대한 IP 주소를 물어본다. Local DNS에는 www.naver.com에 대한 주소가 있을 수도 없을 수도 있다. 만약 있다면 Local DNS가 바로 PC에 IP 주소를 넘겨주고..